在沒有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))))))
範例程式碼:
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中文網其他相關文章!