1. timesメソッド
timesメソッドを使用して、指定した回数だけ繰り返し処理を行います。以下の例では、5回繰り返します。
1 2 3 |
5.times do |i| puts "繰り返し回数: #{i}" end |
出力結果
繰り返し回数: 0
繰り返し回数: 1
繰り返し回数: 2
繰り返し回数: 3
繰り返し回数: 4

KindleUnlimited会員であれば、全ての本をご覧頂けます。 配列、イテレータ、ブロックを理解すれば、Rubyプログラミングの世界が変わる 第1版
-188x300.jpg)
2. eachメソッド
eachメソッドを使用して、配列やハッシュの要素を一つずつ取り出して繰り返し処理を行います。
1 2 3 4 |
animals = ["dog", "cat", "elephant"] animals.each do |animal| puts "Animal: #{animal}" end |
出力結果
Animal: dog
Animal: cat
Animal: elephant

3. uptoメソッド
uptoメソッドを使用して、指定した範囲の整数を昇順に繰り返し処理します。以下の例では、1から5までの整数を昇順に出力します。
1 2 3 |
1.upto(5) do |i| puts "整数: #{i}" end |
出力結果
整数: 1
整数: 2
整数: 3
整数: 4
整数: 5

4. downtoメソッド
downtoメソッドを使用して、指定した範囲の整数を降順に繰り返し処理します。以下の例では、5から1までの整数を降順に出力します。
1 2 3 |
5.downto(1) do |i| puts "整数: #{i}" end |
出力結果
整数: 5
整数: 4
整数: 3
整数: 2
整数: 1

5. while文
while文を使用して、指定した条件が真(true)である間、繰り返し処理を行います。以下の例では、iが5より小さい間、繰り返し処理を行います。
1 2 3 4 5 |
i = 0 while i < 5 puts "整数: #{i}" i += 1 end |
出力結果
整数: 0
整数: 1
整数: 2
整数: 3
整数: 4

6. until文
until文を使用して、指定した条件が偽(false)である間、繰り返し処理を行います。以下の例では、iが5以上になるまで繰り返し処理を行います。
1 2 3 4 5 |
i = 0 until i >= 5 puts "整数: #{i}" i += 1 end |
出力結果
整数: 0
整数: 1
整数: 2
整数: 3
整数: 4

7. for文
for文を使用して、指定した範囲や配列の要素を繰り返し処理します。以下の例では、配列の要素を順番に出力します。
1 2 3 4 |
array = ['dog', 'cat', 'elephant'] for animal in array puts "Animal: #{animal}" end |
出力結果
Animal: dog
Animal: cat
Animal: elephant

8. mapメソッド
mapメソッドを使用して、配列の各要素に対してブロック内の処理を適用し、新しい配列を生成します。以下の例では、配列の要素をそれぞれ2倍にして新しい配列を作成します。
1 2 3 4 |
numbers = [1, 2, 3, 4, 5] doubled_numbers = numbers.map { |n| n * 2 } puts "元の配列: #{numbers}" puts "新しい配列: #{doubled_numbers}" |
出力結果
元の配列: [1, 2, 3, 4, 5]
新しい配列: [2, 4, 6, 8, 10]

9. selectメソッド
selectメソッドを使用して、配列の要素を条件に基づいてフィルタリングします。以下の例では、配列から偶数だけを抽出して新しい配列を作成します。
1 2 3 4 |
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even_numbers = numbers.select { |n| n.even? } puts "元の配列: #{numbers}" puts "偶数だけの配列: #{even_numbers}" |
出力結果
元の配列: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
偶数だけの配列: [2, 4, 6, 8, 10]

10. each_with_indexメソッド
each_with_indexメソッドを使用して、配列の要素とそのインデックスを繰り返し処理します。以下の例では、配列の要素とインデックスを出力します。
1 2 3 4 |
animals = ['dog', 'cat', 'elephant'] animals.each_with_index do |animal, index| puts "Animal #{index}: #{animal}" end |
出力結果
Animal 0: dog
Animal 1: cat
Animal 2: elephant

まとめ
Rubyには様々な繰り返し処理の方法があります。適切な繰り返し処理を選ぶことで、効率的にプログラムを書くことができます。この記事では、Rubyでよく使われる繰り返し処理の方法をいくつか紹介しました。自分のニーズに合わせて、最適な繰り返し処理を選択しましょう。
