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のループ処理を効率的に書くことができます。次のセクションでは、whileuntilの使い方について詳しく説明します。お楽しみに!

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メソッドを使うことで、コレクションの各要素に対する処理を簡潔に書くことができます。次のセクションでは、whileuntilの使い方について詳しく説明します。お楽しみに!

whileとuntilの使い方

Rubyには、条件が真である間(または偽である間)、処理を繰り返すためのwhileuntilという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!

投稿者 hoshino

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です