Ruby ::哈希#提取

从哈希中返回给定键的值。如果找不到密钥,则有以下几种选择:

  • 如果未提供任何参数,将引发KeyError异常

  • 如果给定默认值,则将返回该值

  • 如果指定了可选代码块,则将运行该代码块并返回其结果。

irb> user = {'first_name': 'Dummy', 'last_name': 'User'}
 => {:first_name=>"Dummy", :last_name=>"User"}
irb> user.fetch(:first_name)
 => "Dummy"
irb> user.fetch(:email)
KeyError: key not found: :email
  from (irb):5:in `fetch`
irb> user.fetch(:email, 'no email added')
 => "no email added"
irb> user.fetch(:email){ |e| "no #{e} added"}
 => "no email added"

附加信息
  • Ruby Doc – Hash#fetch