如何在ruby中编写负循环,如(i = index; i> = 0; i - )

时间:2012-01-19 13:04:51

标签: ruby loops

我是红宝石的新手。希望知道如何在ruby中编写以下循环。

var index=25; 

for (i = index; i >= 0; i--) { 
    print i;
}

7 个答案:

答案 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] }