# 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( )后确实运行了,谢谢~