私が歌川です

@utgwkk が書いている

Ruby忘録 for文

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文を使わなくても配列を扱うことはできる。