Ich versuche, ein Array von Hashes mit einer Reihe von Schlüsseln und Werten zu durchlaufen, in dieser Schleife möchte ich überprüfen, ob ein Schlüssel (oder eine Menge bestimmter Schlüssel, was auch immer das einfachste ist) einen bestimmten Wert hat.Wie wird ein Array von Hashes durchlaufen und ein Hash entfernt, wenn ein Schlüssel einen bestimmten Wert hat?
Das ist, was ich so weit gekommen, aber es funktioniert nicht wie die Hashes einen Schlüssel mit dem Wert Dollar noch vorhanden ist innerhalb des Arrays enthält:
remove_currency = [{a: 'fruit', b: 'dollar'}, {a: 'fruit', b: 'yen'}]
currency = 'dollar'
remove_currency.delete_if { |_, v| v == currency }
Hoffnung machte ich mich klar genug!
Willkommen bei SO. Bitte lesen Sie "[mcve]". Wir müssen den minimalen Code zusammen mit unterstützenden Eingaben sehen, der das Problem demonstriert. Dein Code tut das nicht. Denken Sie daran, dass es bei SO nicht nur darum geht, Ihnen zu helfen, sondern darum, anderen in der Zukunft zu helfen. Deshalb brauchen wir Ihre Hilfe, um Fragen zu stellen, die das Problem vollständig erklären. –
Besser? Immer noch geschafft, eine Antwort zu bekommen, die mein Problem gelöst hat, was bedeutet, dass jemand meine Frage trotzdem verstanden hat. Und ich glaube, dass Benutzer, welche Erfahrung sie haben könnten, sich vorstellen können, dass mein 'remove_currency' Array eine Menge Hashes enthält und einige von ihnen den Wert von' 'dollar'' enthalten und einige von ihnen nicht. Also ich kann den Punkt dieser Offenheit nicht sehen ... – bork