我正在使用像这样的ruby数组splat:
array = *1,2,3
Output = [1, 2, 3]
count = 10 #Initializing count
问题:我想让数组一直持续到count = 10
,当我尝试它时它不起作用array = *1,..,count
预期输出: [1,2,3,4,5,6,7,8,9,10]
采用这种方式是否有可能成功的方法。
答案 0 :(得分:3)
count = 10
*(1..count) # => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
答案 1 :(得分:2)
您只需使用Kernel#Array
:
Array(1..count)
=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
答案 2 :(得分:1)
(1..count)
。to_a,或仅(1..count)
如果您需要Enumerable对象但不需要显式Array。
答案 3 :(得分:0)
你必须这样做:
array = [*1..count]
答案 4 :(得分:0)
count = 10
count.times.map(&:next)
#=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]