字典基本上只是一个哈希表吗?
还有福利:在 Ruby 代码“Hash.new {0}”中,末尾的“{0}”是做什么用的?
表、字典和映射这三个词经常作为同义词使用(在数据结构的上下文中)。哈希表/哈希映射是表/字典/映射的一种。
The {0}
是一个块(匿名函数),它忽略其参数并返回数字 0。给定的块Hash.new
当在哈希映射中找不到键时,调用以生成默认值。
IE。如果我做h = Hash.new {0}
进而h["key that does not exist"]
,我返回 0,而不是nil
(如果没有的话我会得到{0}
)。请注意,在这种情况下,默认值是不可变的并且不依赖于键,您不需要使用块形式Hash.new
,你可以这样做Hash.new(0)
将 0 设置为默认值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)