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

Hen*_*_Cl 1 erlang elixir

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

Dog*_*ert 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()
Run Code Online (Sandbox Code Playgroud)

输出:

12
Run Code Online (Sandbox Code Playgroud)