小编Ale*_*iro的帖子

是否可以通过管道对结构体进行“put_in”调用?

给定一张地图,可以这样写:

mymap
|> put_in([:foo, :bar], "hello")
|> put_in([:attr1], "how are you")
|> put_in([:attr2], "goodbye")
Run Code Online (Sandbox Code Playgroud)

理想情况下,我能够对结构执行相同的操作:

mystruct
|> put_in(.foo.bar, "hello")
|> put_in(.attr1, "how are you")
|> put_in(.attr2, "goodbye")
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?目前我正在写:

mystruct = put_in(mystruct.foo.bar, "hello")
mystruct = put_in(mystruct.attr1, "how are you")
put_in(mystruct.attr, "goodbye")
Run Code Online (Sandbox Code Playgroud)

它可以完成工作,但不如使用管道运算符那么优雅。

elixir

3
推荐指数
1
解决办法
1341
查看次数

标签 统计

elixir ×1