gpt4 book ai didi

clojure - 在 Clojure 中重新定义记录的字段

转载 作者:行者123 更新时间:2023-12-02 22:15:34 24 4
gpt4 key购买 nike

《Clojure 的乐趣》中指出:

you can even redefine a record if desired to have different fields giving you the compiled performance of Java dynamically

有人可以告诉我这是如何完成的吗?

谢谢

最佳答案

在第 9 章中,我们将详细介绍 FIXO 的定义。 TreeNode 的协议(protocol)和扩展记录和TreeNode类型。我们表明建立 FIXO 的实现可以动态完成。事实上,我们从 TreeNode 开始记录,延长FIXO协议(protocol),然后定义 TreeNode输入并扩展 FIXO改为它。虽然我们不更改字段的数量,但我们确实更改了类型本身,并且一旦扩展,所有调用都会通过 FIXO协议(protocol)解析为新类型(我们还必须将 FIXO 扩展重新定义为 nil,因为它返回旧的基于记录的 NodeType

您可能不会在要部署的代码中执行此操作,但在实验时这是一种有用的技术。尝试浏览 FIXO 部分并检查类型。

关于clojure - 在 Clojure 中重新定义记录的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463889/

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