Size: a a a

2021 May 21

Е

Евгений in pro.elixir
Исходники
  defmacro then(value, fun) do
   quote do
     unquote(fun).(unquote(value))
   end
 end
Вопрос: кому мог понадобиться такой бессмысленный и беспощадный сахарок?
источник

DC

Danil Chibrikov in pro.elixir
only for pipelines
источник

Е

Евгений in pro.elixir
Не понимаю какой профит от этого в пайплайнах. Объясните на примере, пожалуйста.
источник

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

DC

Danil Chibrikov in pro.elixir
ИМХО только для удобочитаемости.
Как бы then() вфглядит лучше, чем ().()
источник

Е

Евгений in pro.elixir
Ясно. А что тогда означает сей пассаж?
allowing you to pipe a value to a function outside of its first argument.
источник

Е

Евгений in pro.elixir
Мой английский видимо слишком плох для расшифровки смысла этого текста.
источник

Е

Евгений in pro.elixir
Так бы и написали, с этой функцией, ваша программа будет выглядеть не как говно.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
[root, “file_with_key”]
|> Path.join
|> File.read!
|> then(&Map.get(index, &1))
источник

Е

Евгений in pro.elixir
Ах вот что они имели в виду. В конечном итоге все же просто для красоты, так как можно написать
[root, “file_with_key”]
|> Path.join
|> File.read!
|> (&Map.get(index, &1)).()
источник

A ß in pro.elixir
можно, но почему-то не принято
источник

Е

Евгений in pro.elixir
видимо потому что страшненько
источник

Е

Евгений in pro.elixir
).( - это же торс человека.
источник

Е

Евгений in pro.elixir
Интересно, почему в пайпах запрещено просто писать
a |> &Map.get(index, &1) без  .()?
источник

Е

Евгений in pro.elixir
Тоже видимо по каким-то эстетическим соображениям.
источник

A ß in pro.elixir
наверно чтобы сохранить максимально простую логику раскрытия:
a |> b(...) => b(a, ...)
источник

DF

Denis Fakhrtdinov in pro.elixir
А если результатом выполнения пайплайна должен быть фан?
источник

Е

Евгений in pro.elixir
фан?
источник

DF

Denis Fakhrtdinov in pro.elixir
Анонимная функция.
источник

Е

Евгений in pro.elixir
Хм, а как это может помешать?
источник