我的“ main.jl”文件中包含以下包含/导入内容:
include("Global.jl")
import .Global
由于导入此模块需要一些时间,并且每次执行时都始终相同,因此我想提前测试是否存在.Global,以便可以绕过include / import。
我的想法是我可以在文本编辑器中编辑所有更改,并使用交互式控制台重新加载整个程序,但是如果该步骤已经存在,则放弃该步骤。
答案 0 :(得分:5)
import X
,则 X
已经基本上是无操作了。
问题是当您执行include
时,您正在定义一个也称为X
的新模块,因此import
会尝试并加载新模块。
我建议将您的模块转换为软件包,
将其添加到您的环境中,然后执行import X
答案 1 :(得分:3)
您可以使用isdefined(Main, :ModuleName)
(不要忘记冒号)。
if !isdefined(Main, :Global)
include("Global.jl")
import .Global
end
对于using
是一个名为“ MyPackage”的软件包的相同问题:
if !isdefined(Main, :MyPackage)
using MyPackage
end