是否可以使用管道运算符进行字符串插值?

时间:2018-06-05 11:38:41

标签: elixir

例如,当您通过多个管道步骤改变字符串并希望将其添加为字符串变量插值时。

"Hello-World" 
|> String.downcase 
|> String.slice(0..4) 
|> String.to_atom("var_#{&1}")

而不是:

str = 
  "Hello-World" 
  |> String.downcase 
  |> String.slice(0..4) 
String.to_atom("var_#{str}")

1 个答案:

答案 0 :(得分:5)

是的,你可以创建一个匿名函数并输入到:

iex(1)> "Hello-World" |> String.downcase |> String.slice(0..4)
        |> (&String.to_atom("var_#{&1}")).()
:var_hello