連結演算子

EGL では、正符号のほかに 2 つの連結演算子が使用されます。 以下の演算子を連結に使用することができます。
::
この演算子 (2 つのコロン) は、単純代入互換タイプをストリングに変換し、それらを連結します。 また、この演算子によって配列に要素を追加することもできます。 可変長の NULL 要素は無視されます。固定長の NULL 要素はすべてスペースと見なされます。 どちらのオペランドも NULL の場合、この演算子は NULL を戻します。
?:
この演算子の動作は :: と似ていますが、NULL 値に関して違いがあります。 連結内のいずれかの要素に NULL 値がある場合、結果は NULL になります。 この演算子を使用すると、I4GL の || 演算子をマイグレーションすることができます。
+
連結に + を使用する場合、式の左辺によって結果の型が決まります。 左辺が数値変数の場合、結果は数値に、左辺がテキスト変数の場合、結果は連結テキストになります。

以下のコード・スニペットは、3 つの演算子の結果の違いを示したものです。

result, var1, var2, var3 STRING?;
result2 INT?;

var1="Sun";
var3="day";
result = var1 :: var2 :: var3;  // 結果は "Sunday"
result = var1 ?: var2 ?: var3;  // 結果は NULL
var1 = "123";
var3 = "456";
result1 = var1 + var2 + var3;  // 結果は "123456" (ストリング)
result2 = var1 + var2 + var3;  // 結果は 123456 (数値)

フィードバック