2015-08-30 45 views

回答

20

是和否。的第一個定義自動定義基於模塊名稱的別名:

defmodule Utilities do 
    defmodule StringUtils do 
    end 

    # Can access the module as StringUtils 
end 

雖然第二:

defmodule Utilities.StringUtils do 
    # Cannot access the module as StringUtils 
end 

其他,通過兩者定義的代碼和模塊是完全一樣的。

3

是,兩者都精確地轉換爲符號(在Erlang一個模塊被它的符號引用):

:"Elixir.Utilities.StringUtils"

在Erlang中沒有真正嵌套的模塊,它只是Elixir模擬的東西。

+3

感謝您的回答 - 我想您的意思是「Atom」,當您提到'符號' –