在Python中,我可以創建一個散列,其中每個元素在首次引用時都具有默認值(也稱爲「autovivification」)。這裏有一個例子:什麼是Python的默認代碼的Ruby等價物?
from collections import defaultdict
d = defaultdict(int)
d["new_key"] += 1
print d
打印字典顯示「new_key」的值爲1
什麼是Ruby中等價?此代碼拋出一個錯誤:
d = {}
d[:new_key] += 1
puts d
test.rb:3:in `<main>': undefined method `+' for nil:NilClass (NoMethodError)
如何創建既具有默認值,鍵'哈希:unknown_key'和':next_key'? – rightfold