2
拿到一张地图,它可以编写类似:是否可以在结构体上调用put_in调用?
mymap
|> put_in([:foo, :bar], "hello")
|> put_in([:attr1], "how are you")
|> put_in([:attr2], "goodbye")
理想情况下,我能够做同样的一个结构:
mystruct
|> put_in(.foo.bar, "hello")
|> put_in(.attr1, "how are you")
|> put_in(.attr2, "goodbye")
是这样的可能吗?目前我在写:
mystruct = put_in(mystruct.foo.bar, "hello")
mystruct = put_in(mystruct.attr1, "how are you")
put_in(mystruct.attr, "goodbye")
它完成了工作,但没有使用管道运算符那么优雅。
我刚刚试过这个,它似乎并没有工作。 –
好的我已经修复了代码,现在应该工作... – jisaacstone
@jisaacestone编辑过的代码仍然出错。我浏览了文档,发现'put_in/3'需要第一个参数来实现访问行为。结构不会实现Access,所以看起来像在'put_in'中输入结构是不可能的。 –