ループ処理させるには

使用例

IDL> im=10
IDL> data1=fltarr(im)
IDL> for i=0,im-1 do data1(i)=float(i)
IDL>
IDL> jm=20
IDL> data2=intarr(im,jm)
IDL> for i=0,im-1 do for j=0,jm-1 do data2(i,j)=i*j
IDl>
IDL> data3=fltarr(im,jm)
IDL> for i=0,im-1 do for j=0,jm-1 do begin
IDL> data2(i,j)=data2(i,j)*data1(i)
IDL> data3(i,j)=data2(i,j)*2.
IDL> endfor

解説

for i=n,m[,k] do 変数inからmまでkおきに変化させ do以下を実行する。
for i=n,m[,k] do begin
...
endfor
変数inからmまでkおきに変化させ begin endfor内に書かれたコマンドを実行する。

備考

  1. ループの中の演算が二つ以上の場合は、ブロック化(begin・・・endでくくる) しなければならない。
  2. fltarrやintarr については 配列を作成するには 参照。

注意

  1. ブロック化する場合、対話的には実行できず、プログラムをファイルに書いてコンパイルする必要がある。