Size: a a a

2021 March 09

DF

Denis Fakhrtdinov in pro.elixir
С дефолтами я понял смысл сахара.
источник

DF

Denis Fakhrtdinov in pro.elixir
А без дефолтов?.
источник

D

D in pro.elixir
Denis Fakhrtdinov
Вот я и спрашиваю, в чем смысл клозы в которой только голова.
голова используется для объявления дефолтов, сама по себе она не выполняется
источник

V

V in pro.elixir
А где ты видел без дефолтов?
источник

DF

Denis Fakhrtdinov in pro.elixir
Ну вот увидел тут в коде такой клоз без тела и без дефолтов.
источник

DF

Denis Fakhrtdinov in pro.elixir
Поэтому и возник вопрос.
источник

DF

Denis Fakhrtdinov in pro.elixir
Может, есть какое-то тайное знание, я хызы.
источник

V

V in pro.elixir
источник

V

V in pro.elixir
Очевидно, конструкция валидная, но бессмысленная
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Может использоваться для автодополнения
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Что такое 1,2,3 - хуй его знает
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А x - это уже смысл
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Пример вырожденный
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Но имя переменной - очень важно
источник

ع

عاصم بن حارث... in pro.elixir
В примере от @LamaLove  все ясно и понятно!
и ф-ця, якобы без тела, но с дефолтом делает совершенно конкретную задачу.
—-
Ну, так перепиши, например:
def sum(list, acc \\ 0)
на
def sum(list), do: sum(list, 0)
так понятней/наглядней?
источник

ع

عاصم بن حارث... in pro.elixir
т.е. ты будешь вызывать sum([1,2,3]) и не запариваться на "начальную инициализацию аккумулятора" в котором накопится сумма элементов списка.
источник

DF

Denis Fakhrtdinov in pro.elixir
Чего вы такие агрессивные.
источник

DF

Denis Fakhrtdinov in pro.elixir
Обычная история для elixir, для того чтобы привнести кусочек сахара в язык добавляется совершенно ненужная конструкция.
источник

DF

Denis Fakhrtdinov in pro.elixir
Так бы и сказали.
источник

D

D in pro.elixir
ничего себе ненужная), в этом и заключается "нужность", ненужная она была бы, если бы function clauses вообще не существовало


def get_settings(category, opts \\ [incoming: nil, outgoing: nil])
def get_settings(:profile, opts), do: ...
def get_settings(:notifications, opts), do: ...
def get_settings(:misc, _opts), do: ...
источник