Elixir:require 和 import 的区别

Liz*_*ody 2 import require elixir

require 和 import 有什么区别?

iex> require Integer
Integer
iex> Integer.is_odd(3)
true
Run Code Online (Sandbox Code Playgroud)

iex> import List, only: [duplicate: 2]
List
iex> duplicate :ok, 3
[:ok, :ok, :ok]
Run Code Online (Sandbox Code Playgroud)

似乎他们都做同样的事情……从其他模块获取宏或函数。

Cha*_*hao 5

文档

每当我们想在不使用完全限定名称的情况下轻松访问其他模块的函数或宏时,我们都会使用 import 。

注意importing一个模块自动requires它。

所以如果你import Integer,你可以直接调用is_odd,你不需要Integer.is_odd