例: Option Compare ステートメント

例 1

次の例は Windows に特有の例です。この例で、最初の StrCompare 関数の呼び出しでは、比較方法を指定する省略可能な引数を付けないで、既定 (大文字と小文字を区別する) の設定が使用されます。大文字と小文字を区別しない比較では、"A" と "a" は等しいため、StrCompare は FALSE (0) を返します。

2 番目の StrCompare 関数の呼び出しでは、大文字と小文字を区別した比較を指定し、Option Compare NoCase で設定した既定設定を無効にします。この比較では、"A" は "a" より小さいため、StrCompare は TRUE (-1) を返します。

' The following results are for LotusScript in English,
' running on Windows 3.1.
Option Compare NoCase
' No method specified in StrCompare; use NoCase.
Print StrCompare("A", "a")   ' Output: 0, these two strings are equal.
' Use case-sensitive comparison
' (in country/language collation order).
Print StrCompare("A", "a", 0)  ' Output: 1, string1 greater than
							' string 2.  Strings are not equal.

例 2

この例では、モジュールには Option Compare ステートメントがないとします。既定の照合順序では大文字と小文字が区別されるため、リストタグ "a" と "A" とは異なるタグです。したがって、Loft("a") と Loft("A") は 2 つの異なるリスト要素を参照します。ForAll ステートメントの中で、ListTag 関数はリストタグを取り出し、Print ステートメントはそれを各行に表示します。

Dim loft List As Integer
loft%("a") = 2
loft%("A") = 17
ForAll i In loft%
   Print ListTag(i)    ' Output: "a" and "A"
End ForAll

例 3

この例では、Option Compare NoCase ステートメントで、既定の文字列比較方法として大文字と小文字を区別しないように指定してあります。そのため、リストタグ "a" と "A" は同じタグです。したがって、loft("a") と loft("A") への代入は同一のリスト要素を参照します。リストタグが 1 つだけ ListTag 関数で得られ、表示されます。

Option Compare NoCase
Dim loft List As Integer
loft%("a") = 2
loft%("A") = 17
ForAll i In loft%
   Print ListTag(i)    ' Output: "A"
End ForAll

例 4

この例では、Option Compare Binary ステートメントが、文字列比較方法としてビット単位 (プラットフォームのソート順、大文字と小文字を区別) を指定しているため、リストタグ "a" と "A" は別のタグです。したがって、loft("a") と loft ("A") は別のリスト要素です。

Option Compare Binary
Dim loft List As Integer
loft%("a") = 2
loft%("A") = 17
ForAll i In loft%
   Print ListTag(i)    ' Output: "a" and "A"
End ForAll