[英]Printing an array in ruby
我有這樣一個數組:
[1, 2, 3, 4, 5]
我該如何垂直打印陣列? (第一行1,第二行2等)
您只需要使用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" }
最簡單的方法:
puts [1, 2, 3, 4, 5]
也可以:
[1, 2, 3, 4, 5].each{|x| p x}
盡管它被稱為“瘋狂”,但我接受。
[1, 2, 3, 4, 5].map{|x| p x}
另一種方法是使用splat:
p *[1,2,3,4,5]
另一種選擇如下。 這會將每個數組元素拉出一個帶有換行符的字符串以進行垂直顯示,然后進行打印
puts [1, 2, 3, 4, 5].join("\n")
我進行了快速性能測試,以了解它與其他選項的比較。 在100個整數數組上,我得到了以下性能:
puts arr花了1.08秒
每次到達需要1.22秒
arr.map花費了1.24秒
放* arr花了1.08秒
放置arr.join(“ \\ n”)花費了0.44秒
基於此,join似乎比其他選項快40-60%。 授予的性能可能對您的使用並不重要:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.