ruby-on-rails – 文字和构造函数之间的区别? ([] vs Array.new和{} vs Hash.new)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 文字和构造函数之间的区别? ([] vs Array.new和{} vs Hash.new)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很想知道[]和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,但是正在寻找更多的信息.

干杯.

解决方法

使用Hash.new,您可以设置未设置密钥的散列值的默认值.这是非常有用的,如果你正在进行统计,因为Hash.new(0)将让你增加键而不显式初始化它们.
原文链接:https://www.f2er.com/ruby/273068.html

猜你在找的Ruby相关文章