簡體   English   中英

在Ruby中打印數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM