gpt4 book ai didi

functional-programming - 函数式更新

转载 作者:行者123 更新时间:2023-12-04 08:42:55 24 4
gpt4 key购买 nike

这可能是矛盾的,但是如何以函数式编程风格更新数据实体?从我读过的所有内容来看,函数式编程使用转换来返回不可变实体的输出。我唯一能想到的就是完全替换原始实体,但这似乎与经典更新方法几乎相同。

最佳答案

您是在谈论磁盘数据库实体还是内存中的数据结构。

对于后者,函数式语言使用持久数据结构,其实现方式是新版本和旧版本在更新后都可用,但它们共享公共(public)部分(因此它是高效的)。因此,您似乎正在返回一个全新的数据结构,但实际上,它与正在修改的数据结构共享其大部分实现。

在 clojure 源代码(用 Java 编写)中有一些非常好的实现可供查看——我在博客上将其中两个分开

http://www.loufranco.com/blog/files/20-Days-of-Clojure-Day-7.html

http://www.loufranco.com/blog/files/20-Days-of-Clojure-Day-8.html

关于functional-programming - 函数式更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/266219/

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