gpt4 book ai didi

Clojure:defprotocol,默认实现,未内联

转载 作者:行者123 更新时间:2023-12-04 18:20:47 26 4
gpt4 key购买 nike

编辑

这个问题没有任何意义,因为我是个白痴并且误读了 Clojure 文档。

我有的:

我有这样的事情:

(defprotocol Foo "doc" [foo bar]
(Foo-bark [foo])
(Foo-meow [foo])
(Foo-other [foo]
... long
multi
line
inline
implementation))

我更喜欢什么:
(defprotocol Foo "doc" [foo bar]
(Foo-bark [foo])
(Foo-mewo [foo])
(Foo-other [foo]))

(define Foo-other [foo]
.. long
multi
line
implementation)

问题

以上可能吗?如果不是,我能到达的最接近的地方是什么?

最佳答案

defprotocol 不能用于为其功能/方法提供实现。您需要使用 deftype 或 reify 或 extend/extend-type (或下拉到类来执行此操作。对于您的用例,您可以使用 extend 来引用早期定义的函数来实现协议(protocol)。

关于Clojure:defprotocol,默认实现,未内联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10732355/

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