Ответ 1
Указывает значение по умолчанию.
Аргументы функции, определенные с помощью \\
после имени аргумента, предоставляют необязательный параметр по умолчанию. Поэтому, если вызывается loop/2, первым аргументом будет pid, возвращаемый из self()
. Если вызывается loop/3, вы должны указать pid.
Возьмем другой (тривиальный) пример:
math.ex
defmodule Math do
def add(a \\ 2, b) do
a + b
end
end
iex (1)> c("math.ex")
iex (2)> Math.add(1, 8) # add/2, because you are matching 1 to `a`.
9
iex (3)> Math.add(8) # add/1, because `a` is by default matched to 2.
10