LOTUSSCRIPT 言語
リストは、モジュールレベル、プロシージャ内、またはクラスの定義内で宣言できます (ユーザー定義のデータ型の定義内ではできません)。リストの宣言には、Dim ステートメントまたはそのバリエーションを使用します。
Dim ステートメントで As dataType 節を省略し、リスト名にデータ型接尾辞を付けない場合、LotusScript はリスト名が適用可能な Deftype ステートメントで扱われているかどうかを調べます。リスト名が Deftype ステートメントで扱われていれば、LotusScript はそのデータ型をリストの要素に割り当てます。それ以外の場合は、Variant 型にします。
リストは最初は空です。次の形式のステートメントを使用して、リストに要素を追加します。
listName( listTag ) = value
ここで、listName はリスト名、listTag は要素を一意的に識別する文字列、value は要素に代入する値です。
リストタグは、基本的に STRING 型のキーです。この「キー」を使用して、これに関連する格納済みのデータを一意に取り出すことができます。
リストタグは、リストが宣言されるモジュールの大文字小文字の区別に関する設定に従って、大文字と小文字を区別する場合と、区別しない場合とがあります。そのモジュールで大文字と小文字を区別するように設定されている場合、A123 と a123 は異なるタグと見なされます。大文字と小文字を区別しないように設定されている場合は同じと見なされるので、どちらも使用できます。モジュールに Option Compare ステートメントを含めることにより、モジュール内の文字列比較で大文字と小文字の区別を制御できます。構文は次の通りです。
Option Compare { Case | NoCase | Binary }
Case または Binary キーワードを指定すると、文字列比較はモジュール内で大文字と小文字が区別されます。NoCase は文字列比較で大文字と小文字が区別されないことを意味します。既定は Option Compare Case です。
次の例は、リストを宣言し、要素を追加して、それら要素を参照する方法を説明しています。リスト内の要素は、スカラーデータ型 (String) です。
' Make string comparison case insensitive ' in this module. Option Compare NoCase ' Declare a list洋yList葉o hold first names. ' The list tags will be unique IDs. Dim myList List As String Dim newTag As String Dim newValue As String ' Put some elements in the list. myList("A1234") = "Andrea" myList("A2345") = "Vera" myList("A3456") = "Isabel" ' Ask the user to enter an ID and a name. newTag$ = InputBox$("Please enter your ID:") newValue$ = InputBox$("Please enter your first name:") ' Add a new element to the list with ' the user's ID as the list tag and the user's name as ' the value of the new element. myList(newTag$) = newValue$ Print myList(newTag$) ' Output:the name that the user entered
関連項目