Ich versuche jetzt für einige Stunden, einen verschachtelten Hash-Schlüssel einer Hash-Liste zu entfernen. Ich sah viele Lösung nicht verschachtelte hashs wich sieht wie folgt aus: es doesnSo entfernen Sie verschachtelte Schlüssel aus einer Hash-Liste in Rails
{"key2"=>"value2"}
Aber wenn ich versuche zu verwenden, die außer Methode auf einen Hash mit verschachtelten Schlüssel dann:
sample_hash = {"key1" => "value1", "key2" => "value2"}
sample_hash.except("key1")
Dies führt zu arbeite nicht. Hier mein Code:
nested_hash = {"key1"=>"value1", "key2"=>{
"nested_key1"=>"nestedvalue1",
"nested_key2"=>"nestedvalue2"
}
}
nested_hash.except("nested_key2")
Die Ausnahme() -Methode der nested_hash ohne Änderungen zurück. Ich habe nach einer Lösung gesucht, wie ich verschachtelte Hash-Keys an die Except-Methode übergeben kann, aber nichts gefunden habe. Ist es überhaupt möglich, geschachtelte Schlüssel an diese Methode zu übergeben oder sollte ich eine andere Methode verwenden, die einen verschachtelten Hash-Schlüssel aus meiner Hash-Liste löscht?
Vielleicht möchten Sie einen echten Baum, anstatt einen verschachtelten Hash. Sie können sich https://github.com/evolve75/RubyTree, https://github.com/stefankroes/ancestry oder https://github.com/mceachen/closure_tree für Edelsteine ansehen, die für Sie arbeiten könnten. –