Я хотел бы создать новый хэш со вложенными значениями по умолчанию. Я думал, что это должно быть похоже на
h = Hash.new(count: 0, rating: 0)
Так что я могу делать такие вещи, как
h['a'][:count] += 1
h['a'][:rating] += 1
и так далее. Но когда я пытаюсь сделать это в консоли, это выглядит так:
2.3.1 :046 > h = Hash.new(count: 0, rating: 0)
=> {}
2.3.1 :047 > h["a"]
=> {:count=>0, :rating=>0}
2.3.1 :048 > h["a"][:count]
=> 0
2.3.1 :049 > h["a"][:count] += 1
=> 1
2.3.1 :050 > h["b"][:count] += 1
=> 2
2.3.1 :051 > h
=> {}
Итак, мои вопросы:
- Почему
h["b"][:count] += 1
возвращает 2 ине 1? - почему ч пуст?
Заранее спасибо!