Имя функции конфликтует с функцией в модуле ядра. Есть ли способ сначала вызвать собственную функцию? - PullRequest
0 голосов
/ 25 июня 2018

Например, div/2 - это существующая функция в модуле Kernel.Я хочу вызвать собственную функцию div/2 вместо функции Kernel.div/2.

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Вы также можете позвонить <module-name>.div/2 изнутри вашего <module-name>

0 голосов
/ 25 июня 2018

Вы можете отменить импорт функции в 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
...