gpt4 book ai didi

function - Clojure 记录实现 IFn 是一个好习惯吗?

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

假设我有一个“类似函数”的记录,至少在它代表可以应用于某些参数的操作的意义上。

我可以通过实现 clojure.lang.IFn 使其作为函数工作,例如:

(defrecord Func [f x]
clojure.lang.IFn
(invoke [this arg]
(f x arg))
(applyTo [this args]
(apply f x args)))

((->Func + 7) 1)
=> 8

(是的,我知道我刚刚重新实现了 partial 的较低版本....这只是一个示例:-) )

制作记录实现clojure.lang.IFn是一个好的实践吗?

这种方法有什么陷阱吗?

最佳答案

我很惊讶它还没有。记录应该是 "a complete implementation of a persistent map" 。因此,为了回答你的问题,我希望它是其键的函数,就像 map 一样;其他任何事情都会非常令人惊讶。

关于function - Clojure 记录实现 IFn 是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11963520/

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