再帰処理書けると嬉しい
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]]]]]]]
嬉しいね