Не присваивать хешу нулевые значения

Есть ли краткая рука или лучшая практика для присвоения вещей хешу, когда они равны нулю в рубине ? Например, моя проблема в том, что я использую другой хеш для создания этого, и если что-то в нем равно нулю, он присваивает этому ключу ноль, а не просто оставляю его в покое. Я понимаю, почему это происходит, поэтому мое решение было:

hash1[:key] = hash2[:key] unless hash2[:key].nil?

Потому что я не могу иметь значение в has, где ключ фактически указывает на nil. (Я бы предпочел пустой хеш, чем тот, у которого есть {: key => nil}, этого не может быть)

Мой вопрос: есть ли лучший способ сделать это? Я не хочу делать delete_if в конце заданий.

17
задан Red 29 November 2011 в 22:49
поделиться