2024 Clojure 状况调查 中分享您的想法!

欢迎!有关此如何工作,请参阅 关于 页面以获取更多信息。

0
多方法

当需要在闭包内安装多方法的 method(通常用于生命周期管理)时,使用 defmethod 有点繁琐,并迫使所有
method 体都在闭包内。

以下两种情况我认为尤为相关

如果您需要一个捕获绑定的方法,则需要在 defmethod 中创建一个 bound-fn 并调用它。

在使用依赖注入框架时,您最有可能在依赖项可用时进行方法安装,这使得调用 defmethod 繁琐。

我在 foo.clj 中附加了一个示例,以尝试使事情更加清晰,并添加了一个原始补丁。

在与 @alexmiller 在 #clojure-dev 上讨论事物后,似乎可以添加一个 add-method 函数,并让 defmethod 使用它。

1 答案

0
参考: https://clojure.atlassian.net/browse/CLJ-2514(由管理员报告)
...