Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java lambda callback in clojure [duplicate]

I use a java library in clojure and it has a function that accepts a callback:

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

How do I pass such callback in clojure? I tried anonymous function fn but it doesn't work. In java using java lambdas works.

like image 711
invisible meerkat Avatar asked Aug 26 '16 15:08

invisible meerkat


1 Answers

You can simply reify an interface.

Here is an example

(def consumer (reify java.util.function.Consumer
                (accept [this t]
                  ; here the impl 
                  )))
like image 112
SerCe Avatar answered Nov 14 '22 02:11

SerCe