使用模块

模块有四个相关的关键字,可以在其他模块中使用它们:aliasimportuserequire

alias 将以不同(通常更短)的名称注册模块:

defmodule MyModule do
  # Will make this module available as `CoolFunctions`
  alias MyOtherModule.CoolFunctions
  # Or you can specify the name to use
  alias MyOtherModule.CoolFunctions, as: CoolFuncs
end

import 将使模块中的所有功能都可用,前面没有名字:

defmodule MyModule do
  import Enum
  def do_things(some_list) do
    # No need for the `Enum.` prefix
    join(some_list, " ")
  end
end

use 允许模块将代码注入当前模块 - 这通常作为框架的一部分完成,该框架创建自己的函数以使模块确认某些行为。

require 从模块加载宏,以便可以使用它们。