我最近刚移到Julia 1.1 Version 1.1.0 (2019-01-21)
,但是我认为这也是报告here的1.0版本的问题。对于虚拟变量求和,会出现错误:
julia> a = 0.0
0.0
for i in 1:10
a += 1
end
ERROR: UndefVarError: a not defined
现在,强制变量的范围:
julia> local a
julia> for i in 1:10
a += 1
end
ERROR: UndefVarError: a not defined
执行global a
均返回相同的错误。现在有什么解决方案?
更多:uhmm也执行let .. end
trick不会返回正确的值
julia> let a = 0.0;
for i in 1:10
a+= 1
end
end
julia> a
0.0
编辑:请注意,这仅在REPL中,而不在jupyter或脚本中。在后两种情况下不会出现该错误。
答案 0 :(得分:2)
您可以在a
循环内将for
声明为全局变量:
julia> a = 0
0
julia> for i in 1:10
global a += 1
end
julia> a
10