在ruby中打印数组

时间:2015-05-20 08:07:40

标签: arrays ruby

我有一个数组:

[1, 2, 3, 4, 5]

如何让我的阵列垂直打印? (第一行1,第二行2等......)

4 个答案:

答案 0 :(得分:3)

您只需要使用puts方法。 puts可以在输出结尾添加换行符。

[1, 2, 3, 4, 5].each do |i|
    puts i
end

输出:

1
2
3
4
5

或直接放入数组。

a= [1, 2, 3, 4, 5]
puts a

输出:

1
2
3
4
5

您也可以使用print方法,但它不会添加换行符,但您可以手动添加换行符(根据您的要求,我认为没有必要)

[1, 2, 3, 4, 5].each { |i| print i; puts "\n" }

答案 1 :(得分:1)

最简单的方法:

puts [1, 2, 3, 4, 5]

也有效:

 [1, 2, 3, 4, 5].each{|x| p x}

虽然它被称为疯狂,但我接受了。

[1, 2, 3, 4, 5].map{|x| p x}

答案 2 :(得分:0)

另一种方法是使用splat:

pthread_exit

答案 3 :(得分:0)

另一种选择如下。这会将每个数组元素拉出到一个字符串,并使用换行符进行垂直显示,然后将其打印出来

puts [1, 2, 3, 4, 5].join("\n")

我进行了快速的性能测试,看看这与其他选项的比较。在100整数数组上,我得到了以下性能:

  • 把arr花了1.08秒

  • arr.each花了1.22秒

  • arr.map耗时1.24秒

  • puts * arr花了1.08秒

  • 把arr.join(“\ n”)花了0.44秒

基于此,看起来加入比其他选项快40-60%。授予的性能可能对您的使用不重要:)