目录
一、错误
1.在Julia1.0版本中,定义在for循环之外的变量不能出现在for循环里,否则会如下错误:
ERROR: UndefVarError: variable not defined
2.这个错误似乎是在0.7版本开始的,详情可以看这个链接:https://github.com/JuliaLang/julia/issues/28789
3.例如如下代码就会报错:
n = 0
for i in 1:10
n = i
end
print(n)
二、目前的解决方法
1.在for循环里面声明global,之后这个变量在for循环里不用再声明范围
n = 0
for i in 1:10
global n = i
end
print(n)
for i in 1:10
n += i
end
print(n)
2.在for循环之前声明global是无意义的,还是会报错
3.使用这个也是没用的:
using SoftGlobalScope
三、结语
1.从0.6升级到1.0的小伙伴,尤其是新手估计看到这里感到很奇怪、很难受,但这确实在某种意义上使得代码更加严谨。
2.由于Julia拥有很多数学计算工具库以及使用方便的api,因此代码中很难再看到自己写代码出现for循环的情况,因为这可以通过其他方式进行处理(例如通过简洁的写法代替冗长的部分)
3.Julia语言高效、动态,可组合性强,愿它今后发展更加迅速,为IT届做出更大的贡献吧!