Hash auf bedingte Weise erstellen

Ich bin mit Ruby, Ruby on Rails 3.0.10 und ich bauen möchte einen hash-key\ - Wert-Paare in einer bedingten Weise. Das heißt, ich hinzufügen möchte, einen Schlüssel und seinen zugehörigen Wert, wenn eine Bedingung gefunden:

hash = {
  :key1 => value1,
  :key2 => value2, # This key2\value2 pair should be added only 'if condition' is 'true'
  :key3 => value3,
  ...
}

Wie kann ich das tun und halten ein "gute" Lesbarkeit für den code? Bin ich "gezwungen" zu verwenden, die merge Methode?

Kommentar zu dem Problem
Wo sind die Schlüssel und Werte kommen? Einen anderen hash? Kommentarautor: Ray Toal
@Ray-Toal - Keine aus einem anderen hash. Ich bin Aufbau einer hash von Grund auf. Kommentarautor: Backo
Tut mir Leid, ich verstehe nicht. Die Daten kommen von irgendwo: ein string, eine andere hash, ein array, oder woanders. Auch wenn Sie "erstellen des hash from scratch" Sie haben die Daten. Schreiben bedingte Einfügungen in einer hash-literal nicht in Ruby; Sie können das löschen nach der Tat mit Chris Jester-Junge - Technik. Kommentarautor: Ray Toal
gibt es nur eine Bedingung, die steuert, alle bedingten Werte? Kommentarautor: Martin DeMello
@backo du meinst, es gibt genau eine bedingte Wert in der gesamten hash? wenn also würde ich nur sagen, legen Sie es am Ende Kommentarautor: Martin DeMello

InformationsquelleAutor der Frage Backo | 2011-09-07

Schreibe einen Kommentar