我有两个模块,一个称为主循环,另一个调用的子程序:改变一个全局变量的内容从另一个模块中朱
module mainLoop
using subroutines
export memory
memory = zeros(Int,10)
foo(UInt32(17))
print(memory,"\n")
end
module subroutines
using mainLoop
export foo
function foo(x::UInt32)
mainLoop.memory[1]=x
end
end
我不能找出如何改变数组的内容称为子程序模块的内存。我没有选择将数组作为参数传递给函数,所以我必须使用全局变量。在documentation,它指出:
“模块可以通过使用或import语句,或通过使用点符号合格访问引入其他模块的变量纳入其范围,即每个模块是一个所谓的命名空间。请注意,变量绑定只能在其全局范围内进行更改,而不能从外部模块进行更改。“
通过变量绑定,这是否意味着您不能更改变量内容?
不要使用全局变量,只是通过内存作为参数传递给每个子程序。 –