julia小白请教一个简单问题

请教各位大佬
我这段代码有问题吗
为什么总是报错

a = 1
for i = 1:10
a = a * i
end
println(a)

ERROR: LoadError: UndefVarError: a not defined
Stacktrace:
[1] top-level scope at D:\Julia\ex3.jl:3
in expression starting at D:\Julia\ex3.jl:2

这个是变量作用域导致的问题。可以参考下以前的一个帖子 新手的小问题 ,也可以看下中文文档变量作用域这部分 https://docs.juliacn.com/latest/manual/variables-and-scoping/

至于代码可以写成下面这样,

a = 0

for i = 1:10
    global a
    a = a * i
end

println(a)

我不太习惯julia的这种用法,更倾向于这样写:
local b = 0 #局部变量
global a = 0 #全局变量
for i = 1:10
a = a * i
b = b * i
end
println(a) #–>
println(b) #–>

function test()
for i = 1:10
a = a * i #a已经在开头声明了为全局变量,无需再声明
b = b * i #b不是全局变量,而是局部变量,报错,需要在for i=1:10 上一行写上local b = 0
end
println(a)
println(b)
end

习惯了lua语言的语法,所以才这么认为的。
julia语言的这种语法与众不同,需要适应。