Har*_*dik 0 ruby hash ruby-on-rails hashmap
如何从ruby中删除所有值.我不想删除键只是值.
例如:
这是我的哈希: {'a'=>{'b'=>'c'},'d'=>'e','f'=>{'g'=>''}}
我要这个: {'a'=>{'b'=>nil},'d'=>nil,'f'=>{'g'=>nil}}
我不想删除嵌套的哈希.嵌套级别从一级到六级不等
感谢名单
您可以编写自定义delete_values!方法,如下所示:
class Hash
def delete_values!
each_key do |key|
self[key].is_a?(Hash) ? self[key].delete_values! : self[key] = nil
end
end
end
{'a'=>{'b'=>'c'},'d'=>'e','f'=>{'g'=>''}}.delete_values!
# => {"a"=>{"b"=>nil}, "d"=>nil, "f"=>{"g"=>nil}}
Run Code Online (Sandbox Code Playgroud)