我很想知道[]和Array.new和{}和Hash.new之間的更多差異文字和構造函數的區別? ([] vs Array.new和{} vs Hash.new)
我跑了相同的基準,像速記都是勝利者
require 'benchmark'
many = 500000
Benchmark.bm do |b|
b.report("[] \t") {many.times { [].object_id }}
b.report("Array.new \t") { many.times { Array.new.object_id }}
b.report("{} \t") {many.times { {}.object_id }}
b.report("Hash.new\t") { many.times { Hash.new.object_id }}
end
user system total real
[] 0.080000 0.000000 0.080000 ( 0.079287)
Array.new 0.180000 0.000000 0.180000 ( 0.177105)
{} 0.080000 0.000000 0.080000 ( 0.079467)
Hash.new 0.260000 0.000000 0.260000 ( 0.264796)
我個人喜歡用簡寫一個人的[]和{},代碼看起來很爽性和可讀性。
任何其他指針它們之間有什麼區別?場景背後會發生什麼讓它變得更好,並建議如果有的話何時使用哪些?
我發現這個link但是想獲得更多信息。
歡呼聲。
'Hash.new(0)'? – 2012-08-03 19:13:31