【发布时间】:2012-11-16 04:59:55
【问题描述】:
我有以下代码来创建一个对象哈希数组:
tp = TupleProfile.new(98, 99)
keyDict = Hash[Array[98,99] => tp]
keyDict[[98,99]].addLatency(0.45)
puts keyDict[[98,99]].getAvg()
这可行,但我希望能够在不检查现有哈希值的情况下调用 addLatency:
keyDict[[100,98]].addLatency(0.45) #throws error right now
所以我想创建一个根据键变化的默认值,例如:
keyDict = Hash.new(TupleProfile.new(theKey[0], theKey[1]))
其中 theKey 是某种特殊指令。有什么合理干净的方法可以做到这一点,还是我最好每次都检查或为哈希创建一个包装类?
【问题讨论】:
标签: ruby hash default-value