Size: a a a

2021 May 28

ГК

Георгий Каштанов... in pro.elixir
А если там при парсинге какие-то ошибки возникли, то возвращать их как есть
источник

V

V in pro.elixir
это псевдокот. суть в том, что как ты говоришь "на Date может опираться и другой код (например, зависимости)" может случиться только если сознательно полагаться на выброс исключения. а это мозг рака, и я не хотел бы иметь такую зависимость  в зависимостях
источник

A ß in pro.elixir
зачем || nil?
источник

LL

Lama Lover in pro.elixir
На выброс исключения можно полагаться ещё как
источник

V

V in pro.elixir
но не на FunctionClauseError же
источник

РП

Рома Пак in pro.elixir
если ты знаешь что может возникнуть FCE, то странно это ловить после того как он возникает
источник

LL

Lama Lover in pro.elixir
Ну это maybe типа
источник

A ß in pro.elixir
но там же и так nil будет
источник

V

V in pro.elixir
Ну там может быть что угодно, строго говоря, хоть инт хоть другой бул. Но nil - наиболее частый случай для Date.from_iso000(params["date"])
источник

РП

Рома Пак in pro.elixir
defmodule Option do
 def map(nil, _), do: nil
 def map(val, func) when is_function(func, 1), do: func.(val)
end

Option.map(params["date"], &Date.from_iso/1)
источник

LL

Lama Lover in pro.elixir
Я к тому что когда ты сделаешь свой манки-патчинг, который поведение функции, есть вероятность что что-то сломается
И когда оно сломается, ты, конечно, можешь сказать, что на исключения не стоило полагаться

Но это будет лишь поиски виноватого, ты всё равно будешь в говне
источник

LL

Lama Lover in pro.elixir
Я тупой
источник

V

V in pro.elixir
больше перла богу перла
источник

LL

Lama Lover in pro.elixir
Зачем вообще использовать этот богомерзкий Access
источник

V

V in pro.elixir
А какой access ты предпочитаешь?
источник

A ß in pro.elixir
m |> Enum.sort() |> Map.new()
источник

LL

Lama Lover in pro.elixir
Зависит от кода.
Если я знаю что там точно будет мапа (аналогично для кейворда или структуры),
 Если я знаю, что ключ обязательно будет в мапе, то я матчу
 Если ключа может не быть и у меня either стиль, то я использую Map.fetch
   Если maybe стиль, то я буду использовать Map.get

Если там не обязательно будет мапа, то я использую прекрасный Pathex или богомерзкий Access
источник

V

V in pro.elixir
Что за either/maybe стиль?
источник

A ß in pro.elixir
вырожденная ошибка или нет
источник

A ß in pro.elixir
either = {ok, a} | {error, b}
maybe = {ok, a} | error
источник