当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。