だから、私はルビーループを持っています。次のように、50回の反復ごとにメッセージを出力するにはどうすればよいですか:
loop do
do something
break if something happend
puts "Message at every 50 iteration"
end
カウント変数を保持し、50 で割り切れるたびに何かを実行します。
i = 0;
loop do
i += 1
if i % 50 == 0
puts "This prints every 50 iterations"
end
end
Donald Knuth (おそらく Ruby にはいない) は、カウントアップするインデックスではなく、カウントダウンするインデックスを使用します。これにより、チェックが容易になります。また、sigmavirus24 が指摘するように、整数オーバーフローの問題も回避します。
i = 50
loop do
# do something
break if something happend # (as in original)
i -= 1
next unless i.zero?
i = 50
puts "Message at every 50 iteration"
end