Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Кстати с mongodb вторая версия ecto работает, правда пока это в виде форка: https://github.com/michalmuskala/mongodb_ecto/pull/91
def changeset(user, params \\ :empty) do
Это уже не говоря о том, что тут какое-то изменение работы с функцией, которое понятно только тем, кто с этим уже работал.
cast(source, :empty, required, optional)
Для справедливости замечу, что это совсем не новый синтаксис.
Синтаксис \\ для default arguments появился в 0.12.3(февраль 2014), а сами аргументы по умолчанию были уже в первом публичном релизе 0.5.0(май 2012).
Это не совсем плавающее число аргументов, функция f(a, b, c \\ 0) все равно остается f/3, это просто сахар.
Но при этом
defmodule A do
def test(a, b) do
a + b
end
def test(a, b, c \\ 0) do
a + b + c
end
endwarning: this clause cannot match because a previous clause at line 2 always matches
/home/kana/dev/check_arity.ex:6
Брошюра об Ecto – интерфейсе для работы с базами данных на Elixir