如何在Ruby中创建简单数组?
在Ruby中创建此数组的最短方法是什么:
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
谢谢你的帮助!
您可以使用Range
并在其上调用Enumerable#map
方法,如下所示:
(1..10).map{|i| i * 10} # => [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
或者,正如@JörgWMittag所建议的那样,使用Object#method
返回通过&
符号转换为proc的Method
实例:
(1..10).map(&10.method(:*)) # => [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
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]
这将直接从构造函数构建一个数组。
Array.new(10){|i| (i + 1) * 10} # => [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]