W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
alias
允許你為任何具名模塊賦予別名.想象一下我們的Math
模塊要使用一個特殊的列表執(zhí)行方法來做特定的數(shù)學操作:
defmodule Math do
alias Math.List, as: List
end
從現(xiàn)在起,任何提到List
的地方都會自動擴展成Math.List
.如果有人想訪問原始的List
,就需要在之前加上模塊名Elixir.
:
List.flatten #=> uses Math.List.flatten
Elixir.List.flatten #=> uses List.flatten
Elixir.Math.List.flatten #=> uses Math.List.flatten
所有在Elixir中定義的模塊,都定義在一個主要Elixir命名空間中.為了方便,在調用它們時你可以省略"Elixir".
別名經常用于定義縮寫.事實上,調用alias
時不帶:as
,就會自動將模塊名的最后部分設為別名.例如:
alias Math.List
等同于
alias Math.List, as: List
注意alias
確定了語法范圍,能讓你在特定的函數(shù)中設置別名:
defmodule Math do
def plus(a, b) do
alias Math.List
# ...
end
def minus(a, b) do
# ...
end
end
在上述例子中,由于我們是在plus/2
函數(shù)中調用的alias
,所以別名只在函數(shù)plus/2
中可用.對minus/2
沒有影響.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: