Import 如何在Julia 0.7中包含来自不同目录的文件?

Import 如何在Julia 0.7中包含来自不同目录的文件?,import,julia,Import,Julia,在学习Julia时,我偶然发现了一个基本任务,即包含来自不同目录的文件。我有两个目录,Core和Explore,它们都不是另一个的父目录;请参见图。目录Core有一个文件Core.jl,其中包含 或者它可以是一个basic.jl文件,而不是模块,带有foo() Explore目录中的Explore.jl文件需要使用Core.jl中的foo()。因此,我尝试在Explore.jl中加入以下行:/Users/me/PycharmProjects/juliaProjects/src/Core/Cor

在学习Julia时,我偶然发现了一个基本任务,即包含来自不同目录的文件。我有两个目录,Core和Explore,它们都不是另一个的父目录;请参见图。目录Core有一个文件Core.jl,其中包含

或者它可以是一个basic.jl文件,而不是模块,带有
foo()

Explore目录中的Explore.jl文件需要使用Core.jl中的
foo()。因此,我尝试在Explore.jl中加入以下行:
/Users/me/PycharmProjects/juliaProjects/src/Core/Core.jl
包括(“./Core.jl”)
和其他排列。然而,我不断地犯这样的错误

 ERROR: LoadError: could not open file    /Users/me/PycharmProjects/juliaProjects/src/Core/Core.jl
 Stacktrace:
[1] include at ./boot.jl:317 [inlined]
[2] include_relative(::Module, ::String) at ./loading.jl:1038
[3] include(::Module, ::String) at ./sysimg.jl:29
[4] include(::String) at ./client.jl:398
[5] top-level scope at none:0
[6] include at ./boot.jl:317 [inlined]
[7] include_relative(::Module, ::String) at ./loading.jl:1038
[8] include(::Module, ::String) at ./sysimg.jl:29
[9] exec_options(::Base.JLOptions) at ./client.jl:239
[10] _start() at ./client.jl:432
in expression starting at /Users
问题:jl中正确的
包含
规范是什么。档案

在Mac OS High Sierra上的环境是Julia 0.7。请注意,我使用的不是shell,而是IDE,即Intellij 2018.3的julia插件0.3.3

我检查了其他问题,例如,但似乎不起作用

编辑:根据接受的答案,Explore.jl文件应包括

cd("src/Core")
include("../Core/Core.jl")

无法命名模块
Core
,因为它是一个保留名称,并且(已在我的计算机上测试)以意外方式创建此类模块

请参阅下面的示例julia会话,以了解如何创建和加载位于不同文件夹中的模块(请不要通过按
退出
shell>
获得从
julia>
shell>
的提示):


有趣的是,我没有从命名模块“Core”中得到任何编译错误。假设我的IDE中的julia项目中已经有两个单独的文件夹A和B。两者都不是对方的父母。问题是a中的文件如何包含B中的文件。我没有使用shell,因此我希望B.jl具有硬编码行
包含a
。谢谢最后但并非最不重要的一点也许你真正需要的是创建你自己的包?
cd("src/Core")
include("../Core/Core.jl")
shell> mkdir mymod

shell> vim mymod/mod.jl

shell> more mymod/mod.jl
module MyMod
foo() = 1
end

shell> mkdir dir2

julia> cd("dir2")

julia> include("../mymod/mod.jl")
Main.MyMod

julia> using Main.MyMod

julia> MyMod.foo()
1