我用这种方式初始化数组:
array = Array.new array << '1' << '2' << '3' 一步就能做到吗?如果是这样,怎么办? 问题来源于stack overflow
您可以使用数组文字:
array = [ '1', '2', '3' ] 您还可以使用范围:
array = ('1'..'3').to_a # parentheses are required
array = *('1'..'3') # parentheses not required, but included for clarity 对于以空格分隔的字符串数组,可以使用Percent String语法:
array = %w[ 1 2 3 ] 您还可以传递一个块以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]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。