Answers for "how to test a nested hash in ruby"

1

find a key in nested hash ruby

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
Posted by: Guest on December-13-2020
0

dig method in ruby How to check whether a nested hash element exists

class Hash
  def dig(*path)
    path.inject(self) do |location, key|
      location.respond_to?(:keys) ? location[key] : nil
    end
  end
end
Posted by: Guest on June-20-2021

Code answers related to "how to test a nested hash in ruby"

Browse Popular Code Answers by Language