变量没有定义

       #  code
a. jl文件内容如下
function a( )
global m=1
println(a)
end

b. jl文件内容如下
include("a.jl")
n=m+1
println(n)
       ```
报错:UndefarError: m not defined
我先运行a. jl,再运行b. jl就出现上述错误。在a. jl中加了global了,为什么m还是没定义呢?

你试试在函数体外部加一个 m=1.
我的理解是,函数内部的 global m=1 说的是把全局的 m 修改为 1. 但是你没有全局的 m

你的全局变量m是在函数a里定义并赋值,但是在include文件后,函数a没有执行,所以变量m在全局是不存在的,需要在include后先运行a(),后面就可以正常运行了。

加了include语句后加a( )后确实运行了,谢谢~

京ICP备17009874号-2