我有阵列:
example = ['foo', 'bar', 'quux']
我想迭代它并将其打印出来,如下所示:foo bar quux
,而不是['foo', 'bar', 'quux']
,如果我使用each
或for
就是这种情况。
注意:我不能这样做:example[0];example[1]
等,因为数组的长度是可变的。
我该怎么做?
答案 0 :(得分:10)
下面:
puts array.join(' ') # The string contains one space
答案 1 :(得分:5)
example.join(" ") #=> foo bar quux.
答案 2 :(得分:1)
如果您使用each
进行打印,则可以正常使用:
example.each {|item| print item; print " " } #=> foo bar quux
但是,如果你想要的是一个字符串,其中的项目用空格分隔,那就是join
方法的用途:
example.join(' ') #=> "foo bar quux"
我怀疑你的问题是你用打印混淆了打印,因为each
只返回原始数组 - 如果你想在其中打印的东西,你需要像我在上面的例子中那样打印
答案 3 :(得分:0)
如果它们可以打印在彼此之下,只需使用
puts example
=>
foo
bar
quux
否则使用其他答案中的解决方案
puts example.join(" ")