Elixir - 'use' 关键字有什么作用?
Elixir - What does the 'use' keyword do?
我怀疑这是一个初级问题,但很难在网上找到简洁、规范的答案。
根据我的了解;
- 它不同于 'require' 和 'import'
- 用于导入模块内容
- 这是一个宏
谁能澄清一下?
它 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
我怀疑这是一个初级问题,但很难在网上找到简洁、规范的答案。
根据我的了解;
- 它不同于 'require' 和 'import'
- 用于导入模块内容
- 这是一个宏
谁能澄清一下?
它 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