微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

红宝石 – 字典=哈希?

字典基本上只是一个哈希表吗?

还有奖金:在Ruby代码“Hash.new {0}”中,“{0}”是什么?

解决方法

词表,词典和地图常常被同义使用(在数据结构的上下文中).散列表/散列图是一种表/字典/地图.

{0}是一个块(匿名函数),它忽略其参数并返回数字0.当在哈希映射中找不到键时,将调用给予Hash.new的块来生成认值.

即如果我做h = Hash.new {0},然后h [“不存在的键”],我会返回0,而不是nil(我没有{0}).请注意,在这种情况下,认值是不可变的,并且不依赖于该键,您不需要使用Hash.new的块形式,您可以使用Hash.new(0)将0设置为认值值.

原文地址:https://www.jb51.cc/ruby/274056.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐