我这样初始化一个数组:
array = Array.new
array << '1' << '2' << '3'
是否可以一步完成?如果是,怎么做?
最佳答案
您可以使用数组文字:
array = [ '1', '2', '3' ]
您还可以使用一个范围:
array = ('1'..'3').to_a # parentheses are required
# or
array = *('1'..'3') # parentheses not required, but included for clarity
对于以空格分隔的字符串数组,您可以使用 Percent String syntax :
array = %w[ 1 2 3 ]
您还可以将 block 传递给 Array.new
以确定每个条目的值:
array = Array.new(3) { |i| (i+1).to_s }
最后,虽然它不会生成与上面其他答案相同的三个字符串数组,但还要注意您可以在 Ruby 1.8.7+ 中使用枚举器来创建数组;例如:
array = 1.step(17,3).to_a
#=> [1, 4, 7, 10, 13, 16]
关于ruby - 如何使用 Ruby 一步初始化一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4908413/