在没有 RT 编译的情况下从 Java 与 Clojure 进行互操作
尽管使用 clojure.lang.RT 类进行 Clojure 到 Java 的建议已过时互操作性,当前的方法不再需要这种方法。这种改进的方法涉及将 Clojure 代码编译到独立的 JAR 中并直接从 Java 调用它。这是分步指南:
编译 Clojure 代码:
从 Java 访问 Clojure 函数:
示例 Clojure代码:
(ns com.example.clojure) (defn binomial [n k] (let [a (inc n)] (loop [b 1 c 1] (if (> b k) c (recur (inc b) (* (/ (- a b) b) c))))))
示例 Java 代码:
import com.example.clojure; public class JavaCaller { public static void main(String[] args) { System.out.println("(binomial 5 3): " + clojure.binomial(5, 3)); System.out.println("(binomial 10042, 111): " + clojure.binomial(10042, 111)); } }
运行 Java程序:
这种方法允许 Clojure 和 Java 之间的无缝互操作性,消除了需要中间步骤或复杂的编译过程。
以上是如何在不使用 RT 编译的情况下从 Java 调用 Clojure 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!