我很想知道[]和Array.new和{}和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,但是正在寻找更多的信息.
干杯.