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
了它.
以上内容是否对您有帮助:
更多建议: