Таблица слов, словарь и карта часто используются как синонимы (в контексте структур данных). Хеш-таблица / хэш-карта - это один вид таблицы / словаря / карты.
{0}
- это блок (анонимная функция), который игнорирует свой аргумент и возвращает число 0. Блок, присвоенный Hash.new
, вызывается для получения значения по умолчанию, когда ключ не найден в хэш-карте. 1005 *
т.е. если я сделаю h = Hash.new {0}
, а затем h["key that does not exist"]
, я получу 0 вместо nil
(что я получу без {0}
). Обратите внимание, что в этом случае, когда значение по умолчанию является неизменным и не зависит от ключа, вам не нужно использовать блочную форму Hash.new
, вы можете просто сделать Hash.new(0)
, чтобы установить 0 в качестве значения по умолчанию.