我需要一個可以模擬C++ for
語句的函數。 我想要的東西,我可以給出一個起點,一個結束和另一個變量,會說一次增加多少。在ruby中用什麼函數來模擬一個for
例如,如果我告訴它在10
,年底開始在1
,並且每次遞增2
,就會產生10, 8, 6, 4, 2
。
我需要一個可以模擬C++ for
語句的函數。 我想要的東西,我可以給出一個起點,一個結束和另一個變量,會說一次增加多少。在ruby中用什麼函數來模擬一個for
例如,如果我告訴它在10
,年底開始在1
,並且每次遞增2
,就會產生10, 8, 6, 4, 2
。
想要step
。它是這樣使用:
10.step(1, -2) do |x|
puts x
end
這導致:
10
8
6
4
2
1.9.3p125 :007 > (1..10).step(2).reverse_each { |i| p i }
10
8
6
4
2
@vacawama的解決方案較短,reverse_each只是一種方法。 – Fivell
是不是有一個'range'功能? – elyashiv
您不能將2從10遞增到1.您必須遞增-2或遞減2. – sawa