请在2024年Clojure调查问卷中分享您的想法!

欢迎!请查看关于页面了解更多关于此平台的信息。

+2票数
文档
重新标记

在ClojureScript中,可以这样提供默认协议实现:

(extend-type default 
  AProtocol (f [] ...))

ClojureScript的extend-type文档已经对这方面做得很详细

  • 默认,意味着定义会应用于任何值,
    除非对于以下更具体的某个情况存在扩展类型。
    nil,意味着对于nil值,定义将适用。
  • 值得考虑记录如何通过在Objectnil上使用extend-type来为Clojure中的协议提供默认实现,在extend-type的clj文档字符串中。网站已有记录。

文档

1 个回答

+1票数
by
你好,Alex,

在你方便的时候,能否看一下这个补丁?
https://gist.github.com/etolbakov/d5a7bcbd36d3644a7cb564066cd8aa15
抱歉以这种方式提出,在Jira我没有“附件”权限。
如果需要,我很乐意重新修改。

--
祝好,Eugene
by
嗨,实际上我无法查看补丁,因为我们只接受贡献者提交的补丁,而且为了避免最终需要实现一些干净的东西,我会尽量避免查看任何内容。

如果你想成为贡献者并提交补丁,那将非常好,你可以通过以下链接进行https://clojure.org/dev/dev#_becoming_a_contributor的流程。
by
非常感谢您的回复,我将这么做。
...