Rubyで再帰的にHashから値(キー)を取り除く方法
# categories = {}
# :moved is hash key name
p = proc {|k, v| v.kind_of?(Hash) ? (v.delete_if(&p); nil) : k == :moved}
categories.delete_if(&p)
# categories = {}
# :moved is hash key name
p = proc {|k, v| v.kind_of?(Hash) ? (v.delete_if(&p); nil) : k == :moved}
categories.delete_if(&p)