2012-09-28 25 views
2

我需要一個可以模擬C++ for語句的函數。 我想要的東西,我可以給出一個起點,一個結束和另一個變量,會說一次增加多少。在ruby中用什麼函數來模擬一個for

例如,如果我告訴它在10,年底開始在1,並且每次遞增2,就會產生10, 8, 6, 4, 2

+0

是不是有一個'range'功能? – elyashiv

+1

您不能將2從10遞增到1.您必須遞增-2或遞減2. – sawa

回答

7

想要step。它是這樣使用:

10.step(1, -2) do |x| 
    puts x 
end 

這導致:

10 
8 
6 
4 
2 
3
1.9.3p125 :007 > (1..10).step(2).reverse_each { |i| p i } 
10 
8 
6 
4 
2 
+0

@vacawama的解決方案較短,reverse_each只是一種方法。 – Fivell

相關問題