ruby-on-rails – 文字和构造函数之间的区别? ([] vs Array.new
发布时间:2020-12-16 20:17:25 所属栏目:百科 来源:网络整理
导读:我很想知道[]和Array.new和{}和Hash.new之间的更多差异 我在其上运行了相同的基准测试,并且看起来像是短剑是获胜者 require 'benchmark'many = 500000Benchmark.bm do |b| b.report("[] t") {many.times { [].object_id }} b.report("Array.new t") { many
我很想知道[]和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.newt") { 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,您可以设置未设置密钥的散列值的默认值.这是非常有用的,如果你正在进行统计,因为Hash.new(0)将让你增加键而不显式初始化它们.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |