Rubyの繰り返しは、さまざまな書き方ができる。
まずはおなじみのfor文。
#! ruby for i in 1..10 # ここに書いてある処理を実行 end
i=1を代入してforとendの処理を間を実行したら、次はiをインクリメント(+1すること)させてforとendの間の処理を実行する。それをi=10まで繰り返す。
1から始めなくても、2..13でも、100..1000でも出来る。
さらに、繰り返しの初めの数と終わりの数は、変数にすることもできる。
つまり、
#! ruby for i in 1..10 # ここに書いてある処理を実行 end
#! ruby bo = 4 for i in bo..10 # ここに書いてある処理を実行 end
この場合は、4..10と書くのと同価である。
変数でなく、式(bo*2など)を書いても構わない。
また、1..10 は [1,2,3, ... ,9,10]と同価であるから、次のように書くことができる。
#! ruby for i in [1,2,3,4,5,6,7,8,9,10] # ここに書いてある処理を実行 end
ぶっちゃけ数字だけのときにこれを使うのは馬鹿げている。
この書き方をするのは、配列を用いるときが多い。多分。
例えば、次のような場合。
#! ruby a = ['reimu','marisa','sakuya','youmu'] for i in a puts i end
実行結果
reimu marisa sakuya youmu
予め定義した配列aの内容を、先頭から順に変数iに代入して、出力している。
もちろん、こうとも書ける。
#! ruby for i in ['reimu','marisa','sakuya','youmu'] puts i end
ちなみに、for文を使わなくても配列を扱うことはできる。