Сначала о различиях синтаксиса в руби версии 1.8 и 1.9
Создание пустого хеша
Проблема с Hash.new в том, что нельзя хеш сразу заполнить значениями, как при первом способе. Для чего же тогда используется этот синтаксис? Ответ состоит в том, что с помощью Hash.new можно установить значение по умолчанию для несуществующих ключей.
Сравните это со следующим
Таким образом, хеши, созданные с помощью фигурных скобок, имеют значение по умолчанию nil.
В каких случаях удобно использовать Hash.new? Например, для возврата кодов HTTP
Теперь вместо nil возвращается :undefined, что выглядит более ясно.
Комментариев нет:
Отправить комментарий