Java clojure 中的 lambda 回调

Java lambda callback in clojure

我在 clojure 中使用了一个 java 库,它有一个接受回调的函数:

http://home.dv8tion.net:8080/job/JDA/Promoted%20Build/javadoc/net/dv8tion/jda/entities/MessageChannel.html#sendMessageAsync-java.lang.String-java.util.function.Consumer-

如何在 clojure 中传递此类回调?我试过匿名函数 fn 但它不起作用。在 java 中使用 java lambdas 有效。

你可以简单地reify一个接口。

这是一个例子

(def consumer (reify java.util.function.Consumer
                (accept [this t]
                  ; here the impl 
                  )))