Elixir 进口
2023-12-15 14:34 更新
我们使用
import来简单地从其它模块中不带前缀地获取函数或宏.举个例子,如果我们想要多次使用List模块中的duplicate/2函数,我们可以简单地进口它:iex> import List, only: [duplicate: 2]
List
iex> duplicate :ok, 3
[:ok, :ok, :ok]这时,我们只进口了List模块中的duplicate函数(带两个参数).选项:only的作用是避免将模块中的所有函数都导入命名空间中,选项:except的作用是将模块中除了列表里的其它所有函数都导入.
import也支持将:only设置为:macros或:functions.例如,想要进口所有宏,可以这样写:
import Integer, only: :macros
或者进口所有函数:
import Integer, only: :functions注意import也有语法范围.这意味着我们可以在函数定义中进口特定的宏或函数:
defmodule Math do
def some_function do
import List, only: [duplicate: 2]
duplicate(:ok, 10)
end
end在上述例子中,进口的List.duplicate/2只在这个特定的函数中时可见的.duplicate/2在这个模块中的其它任何函数中都是不可用的(或其它任何模块).
注意import一个模块就自动require了它.
以上内容是否对您有帮助:

免费 AI IDE


更多建议: