代入文

代入文は一般的に次のような構文をしています。

LHS = 表現(expression)

expression (RHS, 右辺) は計算され、LHS (左辺)に代入されます。 LHS が存在しない場合、可能なら作成され、不可ならエラーが返されます。

代入文により新しいデータオブジェクトが作られた場合、作成されたオブジェクトは、次のいずれかの型となります。

  • LHSstringVar$ = "Hello."のように$で終わる場合は、文字列変数
  • expressionがスカラーの数値として評価された場合は、数値変数
  • expressionがデータ領域として評価された場合は、データセット

新しい値が現存のデータオブジェクトに割り当てられた場合は、以下の規則に従います。

  • LHSがデータセットで、expressionがスカラー数値の場合、LHS中の全ての要素の値はexpressionになります。
  • LHSが数値変数の場合、expressionもスカラー数値に評価されなければなりません。 もし、expressionがデータセットの場合、LHSはそのデータセットの第1要素の値となります。
  • LHSexpressionの両方がデータセットの場合、LHSの各要素の値は、expression中の対応する位置の値に等しく設定されます。
  • LHS が文字列の場合、expression文字列式とみなされます。
  • LHSオブジェクトプロパティの表記の場合、終わりに$があるか、ないかに関係なく、この表記は、wks.ncols=3;のようにワークシート列数などのオブジェクトプロパティをセットするのに使われます。

代入文の使用例

変数Bに2を割り当てます。

B = 2;

Testで変数Bの三乗を確認しましょう。

Test = B^3;

文字列変数%AにAustin TXを割り当てます。

%A = Austin TX;

データセットBook1_Bの全ての要素に4を割り当てます。

Book1_B = 4;

Book1_Bの各要素に、Book2_Bの各々の要素の値を割り当てます。

Book1_B = Book2_B;

ワークシートオブジェクトのrhwのプロパティを使用して、Book1のワークシートの行見出しの幅を100に設定します。 doc -uw コマンドはウィンドウをリフレッシュします。

Book1!wks.rhw = 100;  doc -uw;

moreyetmore中の対応するインデックスにある値に対して演算が行なわれます。 myData中の同じインデックスのセルにその結果を割り当てます。

myData = 3 * more + yetmore;

Note: 代入演算の左辺にある文字列レジスタが括弧で囲まれている場合、その文字列レジスタは、代入の前に置換操作を施されます。例えば、

%B = DataSet;
(%B) = 2 * %B;

この例において、DataSetの値には、2が掛けられ、DataSetに代入され直されます。 文字列レジスタ%Bは、文字列"DataSet"のままです。

文字列レジスタと同様、代入文もまた次のように文字列変数で使われます。

fname$=fdlg.path$+"test.csv";

この場合expression は、文字列そのもの、文字列変数、複数文字列を+記号で連結した文字列の式です。