Rubyのループ処理の基本
Rubyには、特定の処理を繰り返すためのループ処理がいくつか用意されています。以下にその基本的な形を示します。
timesメソッド
Rubyの数値オブジェクトには、times
というメソッドがあります。このメソッドを使うと、指定した回数だけブロック内の処理を繰り返すことができます。
5.times do |i|
puts "#{i}回目の繰り返しです。"
end
このコードは、0から4までの数字を順に出力します。times
メソッドは、0から始まり、指定した数値の一つ前までの整数を順にブロック変数に渡して実行します。
eachメソッド
配列やハッシュなどのコレクションに対して、要素一つ一つに対する処理を繰り返すためには、each
メソッドを使用します。
["apple", "banana", "cherry"].each do |fruit|
puts "I like #{fruit}."
end
このコードは、配列の各要素に対して、"I like #{fruit}."
という文字列を出力します。
これらのメソッドを理解し、適切に使い分けることで、Rubyのループ処理を効率的に書くことができます。次のセクションでは、while
とuntil
の使い方について詳しく説明します。お楽しみに!
timesメソッドによる指定回数のループ
Rubyのtimes
メソッドは、指定した回数だけブロック内の処理を繰り返すためのメソッドです。このメソッドは数値オブジェクトに対して呼び出すことができます。
以下に、times
メソッドの基本的な使用方法を示します。
5.times do |i|
puts "#{i}回目の繰り返しです。"
end
このコードは、0から4までの数字を順に出力します。times
メソッドは、0から始まり、指定した数値の一つ前までの整数を順にブロック変数に渡して実行します。
また、ブロック変数を省略することも可能です。その場合、単に指定した回数だけ処理を繰り返します。
3.times do
puts "Hello, Ruby!"
end
このコードは、”Hello, Ruby!”という文字列を3回出力します。
times
メソッドを使うことで、繰り返し回数が明確な場合のループ処理を簡潔に書くことができます。次のセクションでは、each
メソッドとその使用例について詳しく説明します。お楽しみに!
eachメソッドとその使用例
Rubyのeach
メソッドは、配列やハッシュなどのコレクションに対して、要素一つ一つに対する処理を繰り返すためのメソッドです。
以下に、each
メソッドの基本的な使用方法を示します。
["apple", "banana", "cherry"].each do |fruit|
puts "I like #{fruit}."
end
このコードは、配列の各要素に対して、"I like #{fruit}."
という文字列を出力します。
また、ハッシュに対してeach
メソッドを使用すると、キーと値のペアをブロック変数に渡すことができます。
{apple: 100, banana: 200, cherry: 300}.each do |fruit, price|
puts "#{fruit} costs #{price} yen."
end
このコードは、ハッシュの各要素に対して、"#{fruit} costs #{price} yen."
という文字列を出力します。
each
メソッドを使うことで、コレクションの各要素に対する処理を簡潔に書くことができます。次のセクションでは、while
とuntil
の使い方について詳しく説明します。お楽しみに!
whileとuntilの使い方
Rubyには、条件が真である間(または偽である間)、処理を繰り返すためのwhile
とuntil
という2つのループ構文があります。
while文
while
文は、指定した条件が真である間、ブロック内の処理を繰り返します。以下にその基本的な使用方法を示します。
i = 0
while i < 5
puts "#{i}回目の繰り返しです。"
i += 1
end
このコードは、0から4までの数字を順に出力します。i < 5
という条件が真である間、puts "#{i}回目の繰り返しです。"
という処理とi += 1
という処理が繰り返されます。
until文
until
文は、指定した条件が偽である間、ブロック内の処理を繰り返します。これはwhile
文の逆の動作をします。以下にその基本的な使用方法を示します。
i = 0
until i == 5
puts "#{i}回目の繰り返しです。"
i += 1
end
このコードも、0から4までの数字を順に出力します。i == 5
という条件が偽である間、puts "#{i}回目の繰り返しです。"
という処理とi += 1
という処理が繰り返されます。
while
文とuntil
文を使うことで、条件に応じたループ処理を簡潔に書くことができます。次のセクションでは、loop
メソッドの活用について詳しく説明します。お楽しみに!
loopメソッドの活用
Rubyのloop
メソッドは、無限ループを作成するためのメソッドです。このメソッドはブロックを引数に取り、そのブロック内の処理を無限に繰り返します。
以下に、loop
メソッドの基本的な使用方法を示します。
i = 0
loop do
puts "#{i}回目の繰り返しです。"
i += 1
break if i == 5
end
このコードは、0から4までの数字を順に出力します。break
文を使って、特定の条件が満たされたときにループを終了します。
loop
メソッドは、終了条件が最初から明確でない場合や、特定の条件が満たされるまで処理を繰り返したい場合に便利です。ただし、無限ループにならないように注意が必要です。
次のセクションでは、map
メソッドとその応用について詳しく説明します。お楽しみに!
mapメソッドとその応用
Rubyのmap
メソッドは、配列やハッシュなどのコレクションに対して、各要素に対する処理を行い、その結果を新たな配列として返すメソッドです。
以下に、map
メソッドの基本的な使用方法を示します。
numbers = [1, 2, 3, 4, 5]
squares = numbers.map do |n|
n ** 2
end
puts squares # => [1, 4, 9, 16, 25]
このコードは、配列numbers
の各要素を二乗した結果を新たな配列squares
として生成します。
また、map
メソッドはブロックの最後に評価された値を新しい配列の要素として採用します。これを利用して、以下のように文字列の配列を生成することも可能です。
fruits = ["apple", "banana", "cherry"]
upcased_fruits = fruits.map do |fruit|
fruit.upcase
end
puts upcased_fruits # => ["APPLE", "BANANA", "CHERRY"]
このコードは、配列fruits
の各要素を大文字に変換した結果を新たな配列upcased_fruits
として生成します。
map
メソッドを使うことで、コレクションの各要素に対する処理を行い、その結果を新たな配列として簡潔に生成することができます。これは、データの変換や加工を行う際に非常に便利です。
以上で、Rubyのループ処理についての解説を終わります。Rubyのループ処理を理解し、適切に使い分けることで、効率的なコードを書くことができます。Happy coding!