В Python я могу создать хэш, где каждый элемент имеет значение по умолчанию, когда оно сначала ссылается (также известно как "автовивитация" ). Вот пример:
from collections import defaultdict
d = defaultdict(int)
d["new_key"] += 1
print d
Печать dict указывает, что значение для "new_key" равно 1.
Какой эквивалент в Ruby? Этот код вызывает ошибку:
d = {}
d[:new_key] += 1
puts d
test.rb:3:in `<main>': undefined method `+' for nil:NilClass (NoMethodError)