代入

EGL の代入では、 あるメモリー領域から別のメモリー領域にデータをコピーします。 その後、数式またはテキスト式の結果をソース・フィールドにコピーすることができます。

EGL の assignment ステートメントの振る舞いは、move ステートメントの振る舞いとは異なります。詳しくは、moveを参照してください。

assignment の規則については、EGL における代入の互換性を参照してください。

構文

assignment 文の構文図
target
ある種の変数、例えば、プログラム変数、レコード変数、レコード内のフィールド、 またはシステム変数を示します。 ターゲット・サブストリングが固定長の場合は、assignment 文の左側にサブストリングを指定することができます。 ソースがサブストリングよりも短い場合は、サブストリングの領域にブランクが埋め込まれ、 ソース・テキストがサブストリングよりも長い場合は、テキストが切り捨てられます。 構文について詳しくは、サブストリングを参照してください。
source
別の変数、あるいは文字リテラルまたは数値リテラル。

以下の各 EGL 文は代入です。

  z = a + b + c;
  myDate = vgVar.currentShortGregorianDate;
  myUser = sysVar.userID;
  myRecord01 = myRecord02;
  myRecord02 = "USER";

複合代入演算子

等号 (=) は単純代入演算子です。 EGL の複合代入演算子は、ある演算を実行し、次にその演算結果をターゲット・オペランドに代入します。 例えば、式「a += b」は、以下の式に相当します。
a = a + b

下の表に、EGL で使用可能な複合代入演算子を示します。

表 1.
演算子 意味
a += b a = a + b
a –= b a = a – b
a *= b a = a * b
a /= b a = a / b
a **= b a = a ** b
a %= b a = a % b
a |= b a = a | b
a &= b a = a & b
a xor= b a = a xor b
a ::= b a = a :: b
a?:= b a = a ?: b

フィードバック