已经有一些简短的答案,但我希望尽可能提供更完整的答案 .
当您运行 using MyModule 时,Julia仅在名为 LOAD_PATH 的目录列表中搜索它 . 如果您在Julia REPL中键入 LOAD_PATH ,您将得到如下内容:
2-element Array{ByteString,1}:
"/Applications/Julia-0.4.5.app/Contents/Resources/julia/local/share/julia/site/v0.4"
"/Applications/Julia-0.4.5.app/Contents/Resources/julia/share/julia/site/v0.4"
这些是Julia将在您键入 using Hello 时搜索要包含的模块的目录 . 在您提供的示例中,由于 Hello 不在您的 LOAD_PATH 中,因此Julia无法找到它 .
如果要包含本地模块,可以指定其相对于当前工作目录的位置 .
julia> include("./src/Hello.jl")
一旦包含该文件,您就可以正常运行 using Hello 以获得所有相同的行为 . 对于一次性脚本,这可能是最好的解决方案 . 但是,如果您发现自己经常需要 include() 某组目录,则可以将它们永久添加到 LOAD_PATH .
Adding directories to LOAD_PATH
如果您希望定期使用存储在Julia LOAD_PATH 之外的特定模块,则手动将目录添加到 LOAD_PATH 会很麻烦 . 在这种情况下,您可以将其他目录附加到 LOAD_PATH 环境变量 . 无论何时发出 import 或 using 命令,Julia