如何打印数组?

时间:2012-04-11 23:10:02

标签: ruby arrays iteration

我有阵列:

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

我想迭代它并将其打印出来,如下所示:foo bar quux,而不是['foo', 'bar', 'quux'],如果我使用eachfor就是这种情况。

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

我该怎么做?

4 个答案:

答案 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(" ")