【问题标题】:Java lambda callback in clojure [duplicate]clojure中的Java lambda回调[重复]
【发布时间】:2016-08-26 15:01:49
【问题描述】:

我在 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 可以工作。

【问题讨论】:

  • 超链接已损坏

标签: java lambda clojure jvm interop


【解决方案1】:

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

这是一个例子

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 2016-01-28
    • 2018-04-19
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多