當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Elixir Kernel.SpecialForms.alias用法及代碼示例


Elixir語言中 Kernel.SpecialForms.alias 相關用法介紹如下。

用法:

alias(module, opts)
(宏)

alias/2 用於設置別名,通常用於模塊名稱。

例子

alias/2 可用於為任何模塊設置別名:

defmodule Math do
  alias MyKeyword, as: Keyword
end

在上麵的示例中,我們將 MyKeyword 設置為別名為 Keyword 。所以現在,對 Keyword 的任何引用都將自動替換為 MyKeyword

如果想訪問原始的 Keyword ,可以通過訪問 Elixir 來完成:

Keyword.values #=> uses MyKeyword.values
Elixir.Keyword.values #=> uses Keyword.values

請注意,在沒有 :as 選項的情況下調用 alias 會根據模塊的最後一部分自動設置別名。例如:

alias Foo.Bar.Baz

是相同的:

alias Foo.Bar.Baz, as: Baz

我們還可以在一行中為多個模塊起別名:

alias Foo.{Bar, Baz, Biz}

是相同的:

alias Foo.Bar
alias Foo.Baz
alias Foo.Biz

詞法範圍

import/2 require/2 alias/2 被稱為指令並且都具有詞法範圍。這意味著您可以在特定函數中設置別名,並且不會影響整體範圍。

警告

如果你給一個模塊起別名並且你不使用別名,Elixir 會發出一個警告,暗示別名沒有被使用。

如果別名是由宏自動生成的,Elixir 不會發出任何警告,因為別名沒有明確定義。

可以通過將 :warn 選項顯式設置為 truefalse 來更改這兩種警告行為。

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Kernel.SpecialForms.alias(module, opts)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。