我有更聪明的方法在Ruby中定义这样的数组吗?
array = [5, 15, 25, 35, 45, 55, 65, 75]
感谢您的帮助。
答案 0 :(得分:7)
5.step(75, 10).to_a #=> [5, 15, 25, 35, 45, 55, 65, 75]
答案 1 :(得分:6)
使用Range#step
:
Range.new(5, 75).step(10).to_a
# => [5, 15, 25, 35, 45, 55, 65, 75]
[*Range.new(5, 75).step(10)]
# => [5, 15, 25, 35, 45, 55, 65, 75]
[*(5..75).step(10)] # (5..75) == Range.new(5, 75)
# => [5, 15, 25, 35, 45, 55, 65, 75]
答案 2 :(得分:4)
不确定它是否更好,但有一种方法是:
a = 8.times.map {|i| i*10+5} #=> [5, 15, 25, 35, 45, 55, 65, 75]
此方法的好处是结果(8
)中的项目数量是明确的。
答案 3 :(得分:1)
这是一种方式:
>> Array.new(8) { |i| i*10 + 5 }
=> [5, 15, 25, 35, 45, 55, 65, 75]
>>