当我在Julia中遍历嵌套的Dict时,会出现以下错误:
这里是可以复现此错误的代码:
成为
ERROR: access to undefined reference
in next at dict.jl:567
这里是可以复现此错误的代码:
a = [0,19620,7291,32633,9,32513,42455,10045,31964,42455,11767,54]
b = [14318,16405,19,18913,19,8141,18958,12336,7,16588,17358,30]
d = Dict()
for aa in a
for bb in b
if ! haskey(d,aa)
d[aa]=Dict()
end
d[aa][bb] = 0.5
end
end
for k1 in keys(d)
s =0.0
for k2 in keys(d[k1])
s+= d[k1][k2]
end
for k2 in keys(d[k1])
d[k1][k2] = d[k1][k2] / s
end
end
很奇怪,如果a = [0,1],b = [0,1],它可以正常工作。
----更新-----
实际上,只要数组b有11个不同的元素,就会出现错误。 此外,如果
d[k1][k2] = d[k1][k2] / s
成为
d[k1][k2] = d[k1][k2] * s
或者其它操作时,这个错误就会消失。
有什么想法?