Elixir - '使用'关键字吗?

时间:2015-03-17 11:28:51

标签: module macros functional-programming erlang elixir

我怀疑这是一个基本问题,但很难在网上找到一个简洁,规范的答案。

从我理解的一点点开始;

  • 它与“要求”不同。和' import'
  • 用于导入模块的内容。
  • 这是一个宏

任何人都可以澄清吗?

1 个答案:

答案 0 :(得分:24)

require给定模块,然后在其上调用__using__/1回调,允许模块将一些代码注入当前上下文。见https://elixir-lang.org/getting-started/alias-require-and-import.html#use

示例:

defmodule Test do
  use Utility, argument: :value
end

大致相同
defmodule Test do
  require Utility
  Utility.__using__(argument: :value)
end