LoginSignup
6
3

More than 3 years have passed since last update.

繰り返し処理

Posted at

繰り返し処理とは

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

と出力される。

以上です。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3