W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
我們已經(jīng)討論過了別名,現(xiàn)在我們可以討論嵌套以及它在Elixir中的運(yùn)作方式.思考下面的例子:
defmodule Foo do
defmodule Bar do
end
end
上述例子會(huì)定義兩個(gè)模塊:Foo
和Foo.Bar
.第二個(gè)可以被當(dāng)做Bar
里的Foo
來訪問,只要它們是在同一個(gè)語法空間里.上述代碼等同于:
defmodule Elixir.Foo do
defmodule Elixir.Foo.Bar do
end
alias Elixir.Foo.Bar, as: Bar
end
如果之后Bar
模塊在Foo
的模塊定義之外被調(diào)用,那就必須使用它的全名(Foo.Bar
)或者別名.
注意:在Elixir中,你不必再定義
Foo.Bar
模塊之前先定義Foo
模塊,因?yàn)檎Z言會(huì)將所有模塊名轉(zhuǎn)化為原子.你可以定義任意嵌套的模塊而不需要定義任何鏈條上的模塊(例如:Foo.Bar.Baz
不需先定義Foo
或Foo.Bar
).
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: