ちょっとした話 配列要素にコロンとループ変数の初期値

もしかしたら既に別の投稿で触れていたかもしれませんが、最近はっとした、小話です。

data Q1;
 array X{5}(1:5);
run;

とすると




こうなります。

おぉ~、in演算子のコロン範囲指定と同じ理屈か~。

コロン範囲指定については
SAS忘備録の「条件式(IF/WHERE)におけるINオペレータの小技」
http://sas-boubi.blogspot.jp/2014/01/in.html


ちなみに全部に1を入れたければ
data _Q1;
 array X{5}(5*1);
run;

と書けば、1を5要素に入れるという指定になります。


もう一つは、もしかしたら常識なのかも

data Q2;
 do until(X=2);
  output;
  X+1;
 end;
run;

の結果は






です。

あ~、いっつもループ変数に初期値割り当ててから回してたから、意識したことなかったけど
なにも指定しないと0から始まるんだ、そうだっけ?知ってたような、初めて知ったような。


0 件のコメント:

コメントを投稿