2014-03-25 21 views
10

由於在http://julia.readthedocs.org/en/latest/manual/modules/沒有太多有關模塊的信息,我想問一下以下內容。導入一個模塊並在julialang中使用

我想通過ijulia嘗試兩個模塊。這兩個模塊都在我的工作目錄中,名字爲 name-of-files.jul。我會將它們統稱爲module_1.jul和module_2.jul。

module_1.jul使用module_2.jul和我一起

using module_2 

加載它在ijulia會議,如果我嘗試

using module_1 

給出了一個錯誤。我也試過

include("module_1.jul") 

這最後一句話,在執行時,升起一個錯誤,因爲module_1.jul找不到 變量「x」我知道被包含在module_1.jul(在這種情況下,我「裝」了使用包括(「module2.jul」)內module_1.jul

+1

[Julia Wikibook](http://en.wikibooks.org/wiki/Introducing_Julia/Modules_and_packages)中有更多信息 – facuq

回答

10

的Julia模塊系統模塊 假定一些事情是不是從documenation不一定很明顯在第一。

  1. 朱莉婭文件應該以.jl結束
  2. Julia在LOAD_PATH變量中定義的目錄中查找模塊文件。
  3. 朱莉婭會在表格模塊名目錄中的文件/ src目錄/ file.jl

如果using module_1失敗,那麼我猜這是因爲它的源文件失敗的上述標準之一。

+0

但是看着LOAD_PATH變量,我覺得這會是一個缺點,不是嗎?不知何故,我希望看到一個像fortran甚至python代碼的julia程序,您可以在其中編譯模塊,然後執行主程序,但不需要添加其他程序的模塊(正如我懷疑的,LOAD_PATH變量所做的那樣)。 – user2820579

+3

我不認爲我理解你的問題。 LOAD_PATH只是一個變量,告訴茱莉亞在哪裏看。直到您鍵入導入,包含或使用,纔會加載任何內容。這就像你的終端PATH變量。添加到它不會導致任何東西被加載。 –

+1

但是,假設我非常熱情,並且我已經在LOAD_PATH變量中加載了一百萬個模塊,並且假設我也可以將具有相同名稱,不同內容的模塊存儲在不同路徑中。如果按照我的假設,如何正確鏈接哪一個是我想使用的,從左到右搜索LOAD_PATH? – user2820579