0

我有数组:

example = ['foo', 'bar', 'quux']

我想迭代它并打印它,所以它foo bar quux['foo', 'bar', 'quux']像:eachfor

注意:我不能只做:example[0];example[1]等,因为数组的长度是可变的。

我该怎么做呢?

4

4 回答 4

10

这里:

puts array.join(' ') # The string contains one space
于 2012-04-11T23:12:42.547 回答
5
example.join(" ") #=> foo bar quux.
于 2012-04-11T23:12:51.380 回答
1

如果你曾经each打印,它会工作得很好:

example.each {|item| print item; print " " } #=> foo bar quux

但是,如果您想要的是一个项目用空格分隔的字符串,这就是该join方法的用途:

example.join(' ') #=> "foo bar quux"

我怀疑您的问题是您将打印与迭代混淆了,因为each它只是返回原始数组 - 如果您想要在其中打印内容,您需要像我在上面的示例中那样实际打印。

于 2012-04-11T23:13:50.617 回答
0

如果它们可以打印在彼此下方,请使用

puts example

=> 
foo
bar
quux

否则使用其他答案中的解决方案

puts example.join(" ")
于 2012-04-11T23:31:25.780 回答