如何将匿名函数传递给Elixir中的pipe道
我想写这样的代码:
def boundary do :crypto.rand_bytes(8) |> Base.encode16 |> &("--------FormDataBoundary" <> &1) end
但它不起作用。
它看起来有点奇怪,但必须工作:
def boundary do :crypto.rand_bytes(8) |> Base.encode16 |> (&("--------FormDataBoundary" <> &1)).() end
相关:如果“anonymous”函数已经分配给一个variables,你可以像这样pipe道:
def boundary do add_marker = fn (s) -> "--------FormDataBoundary" <> s end :crypto.rand_bytes(8) |> Base.encode16 |> add_marker.() end