V
Я "только учусь", так что помогите разобраться в основах.
Вот есть простой модуль, вычисляющий значение факториала.
defmodule factorial_01 do
def factorial(n) when n > 1 do
n * factorial(n - 1)
end
def factorial(n) when n <= 1 do
1
end
end
Не очень понятно — как это в одном модуле может одна и та же функиция определяться два раза?? Код вполне себе работает, но для человека знакомого только с имеперативными языками, выглядит странно. Спасибо.