gpt4 book ai didi

Clojure(脚本)静态协议(protocol)?

转载 作者:行者123 更新时间:2023-12-02 12:30:03 30 4
gpt4 key购买 nike

ClojureScript 库 Om Next使用静态协议(protocol)。我以前从未见过这个,想知道它是 Om 特定的概念,还是该语言的实际部分。这是一个简化的代码片段:

(deftype type
static IProtocol
(some-method [this] "val"))

这到底是做什么的? (将其输入 REPL 不会产生任何错误,因此我相信它不是 Om 特定的)。

最佳答案

deftype 是该语言的低级功能,这就是 Clojure 的构建方式。它的核心只是一个 java 类构造函数,它设置字段和方法。 java中的static是一个关键字,表示声明的方法是类的成员,而不是类的实例,因此通过继承全局可用。 defui 是一个非常类似于 deftype 的宏,但它不是类,而是类似的 javascript 对象原型(prototype)的构造函数。主要区别在于它不接受字段而只接受方法。对象原型(prototype)可以实例化,因此为了使行为对所有实例统一可用,它们需要具有静态字段。

关于Clojure(脚本)静态协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35472167/

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