我是红宝石的新手。希望知道如何在ruby中编写以下循环。
var index=25;
for (i = index; i >= 0; i--) {
print i;
}
答案 0 :(得分:53)
有许多方法可以在Ruby中执行递减循环:
第一种方式:
for i in (10).downto(0)
puts i
end
第二种方式:
(10).downto(0) do |i|
puts i
end
第三种方式:
i=10;
until i<0
puts i
i-=1
end
答案 1 :(得分:25)
一种方式:
25.downto(0) do |i|
puts i
end
答案 2 :(得分:15)
downto
很好,但也有更通用的step
。
25.step(0, -1){|i| puts i}
答案 3 :(得分:10)
试试这个:
25.downto(0) { |i| puts i }
答案 4 :(得分:3)
以防您正在使用范围:
rng = 0..6
rng.reverse_each { |i| p i }
编辑 - 更简洁:
puts(rng.to_a.reverse)
答案 5 :(得分:2)
这是一个更简单的一个:
(0..25).reverse_each { |i| print i }
答案 6 :(得分:0)
打印反向数组元素:
nummarray = [3,4,7,3,6,8]
(numarray.length-1).downto(0){ |i| print numarray[i] }