В elixir можно использовать аргументы по умолчанию в определениях функций, но я обнаружил, что это невозможно сделать с аргументами из одного списка ключевых слов, такими как:
def do_stuff(
success: sucess \\ fn(conn) -> conn end,
error: error
) do
# ...
end
Кроме того, я думал о том, чтобы избежать такого стиля кодирования с «передачей обратных вызовов», используя что-то вроде обещаний JS, но я не смог найти реализацию обещаний для Elixir.
Может быть, прямо в язык встроено что-то, что помогло бы мне писать лучший код и приблизиться к стандартам эликсира.
Основной вопрос: можно ли использовать аргументы ключевых слов по умолчанию?
Дополнительный вопрос: есть ли что-то, что Эликсир предлагает, чтобы помочь избежать этого стиля программирования с "передачей обратных вызовов" в пользу более реактивного/составного механизма?