目錄
一、錯誤
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屆做出更大的貢獻吧!