JSLには、割り当て関数も用意されています。割り当て関数は、演算結果を変数に直接、代入します。関数の形式で指定した場合、最初のオペランドに演算結果が割り当てられます。最も基本的な割り当て演算子は、等号が1つの=演算子です(対応する関数はAssign関数)。たとえば、aが3のとき、「a+=4」を実行すると、aが7になります。
割り当て関数の最初のオペランドは、値を割り当てることができる変数でなければなりません。このような変数は、「左辺値(L-Value)」と呼ばれています。たとえば、「3+=4」といった式は、「3」が単なる数値なので、値を割り当てることはできません。そのため、この式はエラーとなります。 しかし、「a+=4」といった式は、「a」が値を割り当てられる変数なので、実行できます。
Add To()という関数の形式で指定する場合、引数は2つしか指定できません。引数が1つまたはなしの場合、Add To()は欠測値を戻します。また、最初の2つの引数以外は無視されます。
a+=bという演算子の形式で指定する場合、3つ以上の引数を取ることができます。その場合、ペアを右から左へと評価し、それぞれの合計が左側の変数に代入されます。最後の引数を除いて、引数はすべて変数でなければなりません。
『スクリプトガイド』の「データ構造」章
bの値をaに代入する。
aの新しい値
『スクリプトガイド』の「データ構造」章
Multiply To()という関数の形式で指定する場合、引数は2つしか指定できません。引数が1つまたはなしの場合、Multiply To()は欠測値を戻します。また、最初の2つの引数以外は無視されます。
a*=bという演算子の形式で指定する場合、3つ以上の引数を取ることができます。その場合、ペアを右から左へと評価し、それぞれの合計が左側の変数に代入されます。最後の引数を除いて、引数はすべて変数でなければなりません。
a*=b*=c
『スクリプトガイド』の「データ構造」章
a--またはPost Decrement(a)が別の式の中にある場合、まずその式が評価され、次にデクリメント演算子が実行されます。この式は、主にループ制御に使用されます。
a++またはPostIncrement(a)が別の式の中にある場合、まずその式が評価され、次にインリメント演算子が実行されます。主にループ制御に使用されます。
Subtract To()という関数の形式で指定する場合、引数は2つしか指定できません。引数が1つまたはなしの場合、Subtract To()は欠測値を戻します。また、最初の2つの引数以外は無視されます。
a-=bという演算子の形式で指定する場合、3つ以上の引数を取ることができます。その場合、ペアを右から左へと評価し、それぞれの合計が左側の変数に代入されます。最後の引数を除いて、引数はすべて変数でなければなりません。
a-=b-=c
『スクリプトガイド』の「データ構造」章