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'中輸入結構是不可能的。 –