繰り返し処理とは
10回同じ処理をするのに10回同じコードを書いていたら大変で見づらいコードになってしまいます。書くのも大変だし修正があったときはめんどくさいです。
そうならないために同じ処理を何回も繰り返したい時に使う処理です。
timesメソッド
同じ処理を複数回繰り返したい時に使うメソッド
数値.times do
# 繰り返す処理
end
例えば
5.times do
puts "hello"
end
hello
hello
hello
hello
hello
と出力される
ブロック変数
メソッドの中だけで使用できる変数を||で囲うブロックを使うことで違う処理が実行できます。
ブロックで囲まれた変数をブロック変数と呼ぶ。
timesメソッドのブロック変数には、繰り返し処理が1回実行されるごとに、0から1ずつ増加する数値が代入されます。
数値.times do |ブロック変数| #繰り返すたびに 0から1ずつ増えていく
# 繰り返す処理
end
例えば
5.times do |i| #ブロック変数としてiを定義
puts i + 2
end
2
3
4
5
6
と出力される。
eachメソッド
配列の中に入っている要素ひとつひとつに対して、要素の数だけ繰り返し処理が行なわれるメソッドです。
配列.each do |item|
# 処理
end
eachに続けてdoとendの間に繰り返したい処理を記述します。
ブロック変数には配列の要素が入り、繰り返すたびに置き換えられます。
例えば
animals = ["cat","dog","rabbit"] ##配列を定義
animals.each do |animal|
puts "動物:#{animal}"
end
動物:cat
動物:dog
動物:rabbit
と出力される。
以上です。