ループ文と分岐
最初に断っておきます。
IDLにはC言語と同じように数種類のループと分岐の構文がある。
しかし、私の経験上5つあれば、大概の処理は大丈夫。
なので以下の5つしかここでは説明しません。あしからず。
For文, Repeat文, If文, Else文, Goto文
■Forによるループ文■
これは、基本中の基本です。でもわたくしはあんまりつかわない。
意味は、i = 0 から始まり、i に1ずつ足していき100になるまでForループ文以下の処理を繰り返えしを意味する。
処理命令のはじめにdo beginを書き、終わりには必ずEndforと書く。カウント値は別に i である必要はなし。
//////////////////
For i = 0 , 100 do begin i が int型だと32767までしかカウントされない。
・・・処理命令・・・
Endfor
/////////////////
■Repeatによるループ文■
もっとも使いやすく、意味がわかりやすいループ文。
特徴は、いつになったらループが終了するのかの条件を構文に書くところにある。
処理命令のはじめにRepeat beginと書き、終わりには必ずEndrep Until (終了の条件)を書く。
終了の条件とは、例えばEndrep Until ( i EQ 100 or n GT 200)などと書く。
//////////////////
Repeat begin
・・・処理命令・・・
Endrep Until ( 終了の条件式)
//////////////////
■If 文、Else 文による分岐■
もし・・・ならば・・・である、を実行する分岐構文。Else文を付け加えることにより、もし・・・ならば・・・であり・・・でなければ・・・である、という意味になる。
基本的な意味合いはC言語と同じである。
//////////////////
If ( 条件式 ) then begin
・・・処理命令・・・
Endif
//////////////////
Else文を交えたIf文は以下のようになる。
//////////////////
If ( 条件式 ) then begin
・・・処理命令・・・
Endif Else begin
・・・処理命令・・・
Endelse
//////////////////
これらも、命令の終わりには忘れず、EndifやEndelseを書く。
■Goto文による分岐■
これはどうしても、うまく分岐のつじつまが合わない場合に使われる分岐文である。つまり、条件が合えば、目的のプログラム行へ強制的に移動させる。
あんまり使わないけど、使ったら心のもやもやが簡単に晴れる時もある。多様はされるなかれ。
Gotoのあと****の所には、好きな変数を書く。処理がGotoのところまできたら、****:と書かれたところに処理が移行する。
//////////////////
Goto, ****
****: ・・・処理命令・・・
//////////////////
以上。上の5つを覚えたらもう十分。