次のCスタイルのfor
ループのように、カウントダウンするRubyでループをどのように書くことができますか?
for (i = 25; i >= 0; i--) {
print i;
}
Rubyでデクリメントループを実行するには多くの方法があります。
最初の方法:
for i in (10).downto(0)
puts i
end
2番目の方法:
(10).downto(0) do |i|
puts i
end
番目の方法:
i=10;
until i<0
puts i
i-=1
end
一方通行:
25.downto(0) do |i|
puts i
end
downto
で構いませんが、より一般的なstep
もあります。
25.step(0, -1){|i| puts i}
これを試して:
25.downto(0) { |i| puts i }
すでに範囲で作業している場合に備えて:
rng = 0..6
rng.reverse_each { |i| p i }
編集-より簡潔に:
puts(rng.to_a.reverse)
ここに簡単なものがあります:
(0..25).reverse_each { |i| print i }