代入
EGL の代入では、 あるメモリー領域から別のメモリー領域にデータをコピーします。 その後、数式またはテキスト式の結果をソース・フィールドにコピーすることができます。
EGL の assignment ステートメントの振る舞いは、move ステートメントの振る舞いとは異なります。詳しくは、moveを参照してください。
assignment の規則については、EGL における代入の互換性を参照してください。
構文

- 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 で使用可能な複合代入演算子を示します。
| 演算子 | 意味 |
|---|---|
| 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 |