在 Ruby 中创建这个数组的最短方法是什么:
[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]
您可以在其上使用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]
这直接从构造函数构建一个数组。
Array.new(10){|i| (i + 1) * 10}
# => [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]