Как передать анонимную функцию в трубу в Эликсире Я хотел бы написать код следующим образом: def boundary do :crypto.rand_bytes(8) |> Base.encode16 |> &("--------FormDataBoundary" <> &1) end Но это не сработает. Ответ 1 Он будет выглядеть немного странно, но должен работать: def boundary do :crypto.rand_bytes(8) |> Base.encode16 |> (&("--------FormDataBoundary" <> &1)).() end Ответ 2 Связано: если для переменной была назначена "анонимная" функция, вы можете сделать ее так: def boundary do add_marker = fn (s) -> "--------FormDataBoundary" <> s end :crypto.rand_bytes(8) |> Base.encode16 |> add_marker.() end
Ответ 1 Он будет выглядеть немного странно, но должен работать: def boundary do :crypto.rand_bytes(8) |> Base.encode16 |> (&("--------FormDataBoundary" <> &1)).() end
Ответ 2 Связано: если для переменной была назначена "анонимная" функция, вы можете сделать ее так: def boundary do add_marker = fn (s) -> "--------FormDataBoundary" <> s end :crypto.rand_bytes(8) |> Base.encode16 |> add_marker.() end