我正在尝试在Julia中创建一个模块,该模块在每次调用其功能之一时都会增加一个变量。
module A
a = 0
export get_and_increment_a
function get_and_increment_a()
a = a + 1
return a
end
end
using .A
println(get_and_increment_a())
println(get_and_increment_a())
我希望prinln()能给我
1
2
但是我有以下错误消息:
UndefVarError: a not defined
Stacktrace:
[1] get_and_increment_a() at ./In[1]:8
[2] top-level scope at In[2]:2
有人知道如何解决此问题吗?
答案 0 :(得分:0)
该变量先前未声明,如果要使用而未声明该变量,则必须从某个库中导入或只在另一个文件中声明并导入到当前文件中。
答案 1 :(得分:0)
在函数体内移动a = 0。里面的所有变量都是局部的。 https://docs.julialang.org/en/v1/manual/variables-and-scoping/#Local-Scope