在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