我有数组:
example = ['foo', 'bar', 'quux']
我想迭代它并打印它,所以它foo bar quux
会['foo', 'bar', 'quux']
像:each
for
注意:我不能只做:example[0];example[1]
等,因为数组的长度是可变的。
我该怎么做呢?
这里:
puts array.join(' ') # The string contains one space
example.join(" ") #=> foo bar quux.
如果你曾经each
打印,它会工作得很好:
example.each {|item| print item; print " " } #=> foo bar quux
但是,如果您想要的是一个项目用空格分隔的字符串,这就是该join
方法的用途:
example.join(' ') #=> "foo bar quux"
我怀疑您的问题是您将打印与迭代混淆了,因为each
它只是返回原始数组 - 如果您想要在其中打印内容,您需要像我在上面的示例中那样实际打印。
如果它们可以打印在彼此下方,请使用
puts example
=>
foo
bar
quux
否则使用其他答案中的解决方案
puts example.join(" ")