如何在Ruby中创建这个数组?

3
在Ruby中,有没有更聪明的方法来定义类似这样的数组?
array = [5, 15, 25, 35, 45, 55, 65, 75]

感谢您的帮助。
4个回答

7
5.step(75, 10).to_a #=> [5, 15, 25, 35, 45, 55, 65, 75]

1
你,哦不,所有在Stack Overflow的人都应该 :) - Arup Rakshit

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]

4

我不确定是否更好,但有一种方法是:

a = 8.times.map {|i| i*10+5} #=> [5, 15, 25, 35, 45, 55, 65, 75]

这种方法的好处是,结果中的项目数量 (8) 是明确的。

1
这是一种方法:

这里是一个段落:

>> Array.new(8) { |i| i*10 + 5 }
=> [5, 15, 25, 35, 45, 55, 65, 75]
>> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接