Rumah > Java > javaTutorial > Bagaimana untuk Memanggil Fungsi Clojure dari Java tanpa Menggunakan Kompilasi RT?

Bagaimana untuk Memanggil Fungsi Clojure dari Java tanpa Menggunakan Kompilasi RT?

DDD
Lepaskan: 2024-12-21 19:10:12
asal
946 orang telah melayarinya

How to Call Clojure Functions from Java without Using RT Compilation?

Saling beroperasi dengan Clojure dari Java tanpa Kompilasi RT

Walaupun sudah lapuk cadangan untuk menggunakan kelas clojure.lang.RT untuk Clojure-to-Java kesalingoperasian, pendekatan semasa tidak lagi memerlukan kaedah ini. Kaedah yang dipertingkatkan ini melibatkan penyusunan kod Clojure ke dalam JAR kendiri dan menggunakan terus dari Java. Berikut ialah panduan langkah demi langkah:

  1. Kompilkan Kod Clojure:

    • Buat fail Clojure yang mengandungi fungsi yang anda mahu panggilan dari Java.
    • Pastikan fail Clojure mengandungi kata kunci :methods untuk menjana kaedah statik dalam Java.
    • Kompilasi fail ke dalam JAR menggunakan arahan: lein jar.
  2. Akses Fungsi Clojure daripada Java:

    • Sertakan Clojure JAR yang dihasilkan dalam projek Java anda classpath.
    • Buat kelas Java yang mengimport kelas Clojure yang diperlukan dan gunakan kaedah statik dengan awalan -.
  3. Contoh Clojure Kod:

    (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))))))
    Salin selepas log masuk
  4. Contoh Kod 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));
        }
    }
    Salin selepas log masuk
  5. Jalankan Java Program:

    • Kompilasi kelas Java dengan javac dan jana JAR dengan balang atau IDE.
    • Jalankan JAR untuk menggunakan fungsi Clojure daripada Java.

Pendekatan ini membolehkan kesalingoperasian yang lancar antara Clojure dan Java, menghapuskan keperluan untuk langkah perantaraan atau prosedur penyusunan kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Memanggil Fungsi Clojure dari Java tanpa Menggunakan Kompilasi RT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan