【发布时间】:2016-11-28 07:50:54
【问题描述】:
在 Elixir 中,您可以使用 <> 运算符连接字符串,就像在 "Hello" <> " " <> "World" 中一样。
您还可以使用管道运算符|> 将函数链接在一起。
我正在尝试编写 Elixir 代码来格式化在线游戏的货币。
def format_price(price) do
price/10000
|> Float.round(2)
|> to_string
|> <> "g"
end
以上导致语法错误。我是否忽略了一个可以连接字符串的基本函数?我知道我可以自己定义一个,但如果可以避免的话,这似乎会在我的代码中造成不必要的混乱。
我意识到我可以通过像to_string(Float.round(price/10000, 2)) <> "g" 这样简单地将方法链接在一起来完成同样的事情,但是这种语法不太好读,并且如果我将来扩展该方法会更加困难想要在两者之间添加步骤。
Elixir 有没有办法使用管道运算符连接文本,或者如果不自己定义方法就不可能?
【问题讨论】:
-
FWIW,我发现你不喜欢的方式(嵌套函数)比你的 '|>' 版本更容易理解。
标签: elixir string-concatenation