函数名称与内核模块中的函数冲突。有没有办法先调用自己的函数?

时间:2018-06-25 04:31:18

标签: erlang elixir

例如,div/2Kernel模块中的现有功能。我想调用自己的div/2函数而不是Kernel.div/2函数。

2 个答案:

答案 0 :(得分:5)

您可以通过显式导入Kernel并使用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

答案 1 :(得分:2)

您也可以致电 <module-name>.div/2内部的<module-name>