gpt4 book ai didi

Elixir:从嵌套映射中删除一个值

转载 作者:行者123 更新时间:2023-12-01 13:16:33 25 4
gpt4 key购买 nike

Elixir 在 Kernel 中提供了一堆辅助函数让您从嵌套的 Map 中获取和更新值或另一个实现 Access 的结构:

但我找不到任何可以帮助我删除值的东西。我知道我可以将值更新为 nil(或者只是不懒惰地获取嵌套 map ,删除值并将整个 map 放入),但我希望有一个简单的衬垫,它实际上会删除我可能错过的值。

最佳答案

谷歌搜索了一下后,我决定将此作为功能请求发布到官方 elixir 邮件列表中,结果发现它是 has already been requested , 并且确实存在替代方案。这是Kernel.pop_in/2 ,它返回元组中删除的值和更新的映射:

pop_in(%{user: %{name: "John", age: 27}, [:user, :age])
# => {27, %{user: %{name: "John"}}

José 没有单独的 delete_in/2 方法的理由:

The reason why we choose pop_in/2 is because it provides more features than delete_in on its own and we want to avoid overloading Kernel with too many functions. If your concern is chaining, you can always perform a |> elem(1) after popping.

关于Elixir:从嵌套映射中删除一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54319095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com