読者です 読者をやめる 読者になる 読者になる

taiki-t's diary

雑多な記録

再帰処理書けると嬉しい

def deep_keys(hash)
  hash.map{ |k,v| v.respond_to?(:keys) ? [k] << deep_keys(v) : k }  
end  

h = {:hoge=>"hoge", :fuga=>{:foo=>{:nested1=>{:nested2=>:nested_val2}}}}

deep_keys(h)
# => [:hoge, [:fuga, [[:foo, [[:nested1, [:nested2]]]]]]]

嬉しいね