如何将匿名函数传递给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