创建一个具有均匀间隔值的数组

时间:2011-01-29 17:42:15

标签: ruby

生成具有固定距离值的数组的简单方法是什么?

例如:

1, 4, 7, 10,... etc

我需要能够设置开始,结束和步距。

2 个答案:

答案 0 :(得分:19)

尝试使用Range.step

> (1..19).step(3).to_a
=> [1, 4, 7, 10, 13, 16, 19]

答案 1 :(得分:4)

在Ruby 1.9中:

1.step(12).to_a   #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
1.step(12,3).to_a #=> [1, 4, 7, 10]

或者你可以 splat 而不是to_a

a = *1.step(12,3)  #=> [1, 4, 7, 10]