Julia 测试是否已完成包含/导入

Julia 测试是否已完成包含/导入,julia,Julia,我的“main.jl”文件中包含以下include/import: 由于导入此模块需要一些时间,并且每次执行时都是相同的,因此如果.Global存在,我希望提前进行测试,以便绕过include/import 我的想法是,我可以在我的文本编辑器中编辑所有更改,并使用交互式控制台重新加载整个程序,但如果该步骤已经存在,则放弃该步骤。您可以使用isdefined(Main,:ModuleName)(不要忘记冒号) 当您使用名为“MyPackage”的软件包时,对于相同的问题: 您可以使用isdefin

我的“main.jl”文件中包含以下include/import:

由于导入此模块需要一些时间,并且每次执行时都是相同的,因此如果.Global存在,我希望提前进行测试,以便绕过include/import


我的想法是,我可以在我的文本编辑器中编辑所有更改,并使用交互式控制台重新加载整个程序,但如果该步骤已经存在,则放弃该步骤。

您可以使用
isdefined(Main,:ModuleName)
(不要忘记冒号)

当您使用名为“MyPackage”的软件包时,对于相同的问题:


您可以使用
isdefined(Main,:ModuleName)
(不要忘记冒号)

当您使用名为“MyPackage”的软件包时,对于相同的问题:


如果已导入
X
,则导入X基本上已经是不可操作的。 问题是,当您执行
include
时,您正在定义一个新模块,也称为
X
,因此
import
尝试并加载新模块

因此,我建议将您的模块转换为一个包,
如果已经导入了
X
,那么将其添加到您的环境中,然后只执行
import X

import X
基本上已经是不可行的。 问题是,当您执行
include
时,您正在定义一个新模块,也称为
X
,因此
import
尝试并加载新模块

因此,我建议将您的模块转换为一个包, 将其添加到您的环境中,然后只需执行导入X

尝试中介绍的“以包为中心”工作流尝试中介绍的“以包为中心”工作流
include("Global.jl")
import .Global
if !isdefined(Main, :Global)
    include("Global.jl")
    import .Global
end
if !isdefined(Main, :MyPackage)
    using MyPackage
end