在Ruby中获取降序范围序列

ste*_*her 6 ruby range

所以这起作用越来越强

(1..5).to_a => [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

但事实并非如此

(5..1).to_a => []
Run Code Online (Sandbox Code Playgroud)

我试图从任意上限得到一个降序.谢谢.

Ser*_*sev 14

试试这个:

5.downto(1).to_a # => [5, 4, 3, 2, 1]
Run Code Online (Sandbox Code Playgroud)

当然,还有一个相应的#upto.如果您需要步骤,可以执行以下操作:

1.step(10, 2).to_a # => [1, 3, 5, 7, 9]
10.step(1, -2).to_a # => [10, 8, 6, 4, 2]
Run Code Online (Sandbox Code Playgroud)


小智 5

或者你可以尝试这个: (1..5).to_a.reverse # => [5, 4, 3, 2, 1]