例如,div/2是Kernel模块中已有的函数,我想调用自己的div/2函数,而不是Kernel.div/2函数。
div/2
Kernel
Kernel.div/2
sqserrrh1#
您可以取消导入Kernel中的函数,方法是使用except选项显式导入Kernel并排除不需要的函数:
except
defmodule A do import Kernel, except: [div: 2] def div(a, b), do: a * b def do_div, do: div(3, 4) end IO.inspect A.do_div()
输出:
12
nhjlsmyf2#
您也可以从<module-name>内部调用<module-name>.div/2
<module-name>
<module-name>.div/2
lztngnrs3#
除了取消导入函数之外,您还可以在调用函数时显式引用自己的模块
defmodule MyModule do def div(a, b) do a * b end def do_div do __MODULE__.div(3, 4) end end
3条答案
按热度按时间sqserrrh1#
您可以取消导入
Kernel
中的函数,方法是使用except
选项显式导入Kernel
并排除不需要的函数:输出:
nhjlsmyf2#
您也可以从
<module-name>
内部调用<module-name>.div/2
lztngnrs3#
除了取消导入函数之外,您还可以在调用函数时显式引用自己的模块