Ruby

Rubyのループを解説

Rubyのループ構造は、特定の条件が満たされるまでコードを繰り返し実行するための構文です。Rubyでよく使用されるループには、whileループ、untilループ、forループ、およびeachメソッドがあります。ここでは、それぞれのループ構造について解説します。

1. whileループ

whileループは、条件が真である限り、コードブロックを繰り返し実行します。

構文

while 条件 do
  # 条件が真の間、繰り返し実行されるコード
end

i = 0
while i < 5 do
  puts "i is #{i}"
  i += 1
end

2. untilループ

untilループは、条件が偽である限り、コードブロックを繰り返し実行します。whileループの逆です。

構文

until 条件 do
  # 条件が偽の間、繰り返し実行されるコード
end

i = 0
until i >= 5 do
  puts "i is #{i}"
  i += 1
end

3. forループ

forループは、指定された範囲や配列の各要素に対してコードブロックを繰り返し実行します。

構文

for 変数 in 範囲 do
  # 繰り返し実行されるコード
end

for i in 0..4 do
  puts "i is #{i}"
end

4. eachメソッド

eachメソッドは、配列やハッシュの各要素に対してコードブロックを繰り返し実行します。

構文

配列.each do |要素|
  # 繰り返し実行されるコード
end

[1, 2, 3, 4, 5].each do |num|
  puts "Number is #{num}"
end

ループの制御

break

break文は、ループを途中で終了させるために使用します。

i = 0
while i < 10 do
  puts "i is #{i}"
  break if i == 5
  i += 1
end

next

next文は、ループの現在の反復をスキップし、次の反復に進むために使用します。

for i in 0..5 do
  next if i % 2 == 0
  puts "i is #{i}"
end

redo

redo文は、ループの現在の反復を再度実行するために使用します。

i = 0
while i < 5 do
  i += 1
  next if i < 3
  puts "i is #{i}"
  redo if i == 3
end

timesメソッド

timesメソッドは、指定された回数だけコードブロックを繰り返し実行します。

構文

回数.times do
  # 繰り返し実行されるコード
end

5.times do |i|
  puts "i is #{i}"
end

loopメソッド

loopメソッドは、無限ループを実行します。ループを終了するには、break文を使用します。

構文

loop do
  # 繰り返し実行されるコード
end

i = 0
loop do
  puts "i is #{i}"
  i += 1
  break if i >= 5
end

まとめ

Rubyのループ構造を使用することで、特定の条件に基づいてコードを繰り返し実行することができます。

whileループ、untilループ、forループ、eachメソッド、timesメソッド、およびloopメソッドを適切に使用することで、効率的な反復処理が可能になります。

また、breaknextredoを使用してループの挙動を制御することもできます。

スポンサーリンク

-Ruby