等価 (=)
2 つのオペランドが文字列として等しいかを判断します。
詳細
等価演算子は、2 つのオペランドが文字列として等しいかを判断します。等価演算子を 2 つの文字列で実行すると、ObjectScript は、2 つのオペランドの文字順序が同一で、スペースを含め他の異なる文字を持たない同一の文字列の場合に True (1) を返します。それ以外の場合は False (0) を返します。以下に例を示します。
WRITE "SEVEN"="SEVEN"
上記は、True (1) を返します。
例
等価演算子は、どちらのオペランドも数値的に解釈しません。例えば、以下の文は、2 つのオペランドが数値的には等価ですが、False (0) を返します。
WRITE "007"="7"
両方のオペランドが数値である場合、等値演算子を使用して、数値的に等しいかどうかを判断できます。以下に例を示します。
WRITE 007=7
上記は、True (1) を返します。
また、単項プラス演算子を使用して、強制的に数値変換を実行できます。以下に例を示します。
WRITE +"007"="7"
上記は、True (1) を返します。
2 つのオペランドのタイプが異なる場合、両方のオペランドが文字列に変換され、それらの文字列が比較されます。 文字列への変換時に、丸めおよび有効桁数のために誤差が生じる可能性があります。以下に例を示します。
WRITE "007"=7,!
// converts 7 to "7", so FALSE (0)
WRITE 007="7",!
// converts 007 to "7", so TRUE (1)
WRITE 17.1=$DOUBLE(17.1),!
// converts both numbers to "17.1", so TRUE (1)
WRITE 1.2345678901234567=$DOUBLE(1.2345678901234567),!
// compares "1.2345678901234567" to "1.23456789012346", so FALSE (0)