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
メソッドを適切に使用することで、効率的な反復処理が可能になります。
また、break
、next
、redo
を使用してループの挙動を制御することもできます。