[Ruby] Ruby 的hash默认值

在Ruby中的Hash是一种数据结构,具有在 Key=> Value  价值。符号往往被用作key来加速键查找的过程。

Hash类提供了许多有用的方法,其中一些来自Enumerable module。我们不会记住这个类的所有方法,但是Hash类有一个很重要的方法 :default()

Ruby 基本的Hash表示方法:

people = Hash.new
 
people["Mary"] = 78
people["John"] = 21
people["Frank"] = 52
 
puts "Name: John, age: #{people["John"]}."

得到结果

Name: John, age: 21.

我们把涉及人的姓名和年龄的一些信息,然后我们展示其中的一些。鉴于key(John”)已经发现,一切都很顺利。让我们试着查找一个不存在的key:
people = Hash.new
 
people["Mary"] = 78
people["John"] = 21
people["Frank"] = 52
 
puts "Name: George, age: #{people["George"]}."
puts people["George"].inspect

得到的结果是:
Name: George, age: .
nil
Hash做正是我们所期望的:它找到下的“John”key。此外,它返回nil值。如果我们想获得的东西在这样的情况有什么不同?这就是default()方法的用武之地。
standard_hash = Hash.new
puts standard_hash.default
 
our_hash = Hash.new
our_hash.default = 185
puts our_hash.default
puts standard_hash[:hello]
获得的结果是
nil
185
185

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值