如何在Ruby中创建简单数组?

时间:2013-08-05 13:25:29

标签: ruby

在Ruby中创建此数组的最短方法是什么:

[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

感谢您的帮助!

3 个答案:

答案 0 :(得分:13)

Range#step

怎么样?
(10..100).step(10).to_a
#=> [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

Numeric#step

10.step(100, 10).to_a
#=> [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

答案 1 :(得分:8)

您可以使用Range并在其上调用Enumerable#map方法,如下所示:

(1..10).map{|i| i * 10}
# => [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

或者,正如@JörgWMittag所建议的,使用Object#method方法返回Method实例,该实例通过&符号转换为proc:

(1..10).map(&10.method(:*))
# => [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

答案 2 :(得分:2)

这直接从构造函数构建一个数组。

Array.new(10){|i| (i + 1) * 10}
# => [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]