📜  在嵌套哈希 ruby 代码示例中查找键

📅  最后修改于: 2022-03-11 15:04:48.636000             🧑  作者: Mango

代码示例1
def nested_hash_value(obj,key)
  if obj.respond_to?(:key?) && obj.key?(key)
    obj[key]
  elsif obj.respond_to?(:each)
    r = nil
    obj.find{ |*a| r=nested_hash_value(a.last,key) }
    r
  end
end

h = { foo:[1,2,[3,4],{a:{bar:42}}] }
p nested_hash_value(h,:bar)
#=> 42