导入模块并在julialang中使用它

use*_*579 10 julia

因为在http://julia.readthedocs.org/en/latest/manual/modules/中没有关于模块的信息,我想问下面的内容.

我想通过ijulia尝试两个模块.这两个模块都在我的工作目录中作为name-of-files.jul.我将一般称它们为module_1.jul和module_2.jul.

module_1.jul使用module_2.jul并加载它

using module_2
Run Code Online (Sandbox Code Playgroud)

在ijulia会议上,如果我尝试

using module_1
Run Code Online (Sandbox Code Playgroud)

给出错误.我也试过了

include("module_1.jul")
Run Code Online (Sandbox Code Playgroud)

执行后的最后一句话会引发错误,因为module_1.jul找不到我知道包含在module_1.jul中的变量"x"(在这种情况下我使用include("module2.jul")"加载"模块module_1.jul

Jer*_*all 9

Julias模块系统首先假设一些事情不一定是文档中显而易见的.

  1. Julia文件应以.jl扩展名结尾.
  2. Julia在LOAD_PATH变量中定义的目录中查找模块文件.
  3. Julia以ModuleName/src/file.jl的形式查找这些目录中的文件

如果using module_1失败那么我猜它是因为它的源文件失败了上述标准之一.

  • 这种对话很快就会失去作用.朱莉娅以某种方式工作,如果你的热情不能与朱莉娅的工作方式相提并论,那么朱莉娅就会为你失败.但听起来你还是不太明白.LOAD_PATH只是一个字符串列表.它不会"加载"任何东西.当你要求加载东西时,它只是告诉朱莉娅在哪里看. (4认同)
  • 我认为我不理解你的问题.LOAD_PATH只是一个告诉julia在哪里看的变量.在您键入import,include或using之前,不会加载任何内容.这就像你的终端PATH变量.添加它不会导致任何东西被加载. (3认同)