红宝石 – 字典=哈希?

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

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

解决方法

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

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

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...