我有一个数组:
[1, 2, 3, 4, 5]
如何让我的阵列垂直打印? (第一行1,第二行2等......)
答案 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%。授予的性能可能对您的使用不重要:)