Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Berjaya Memanggil Fungsi Clojure dari Java?

Bagaimanakah Saya Boleh Berjaya Memanggil Fungsi Clojure dari Java?

Linda Hamilton
Lepaskan: 2024-12-14 20:50:24
asal
624 orang telah melayarinya

How Can I Successfully Call Clojure Functions from Java?

Memanggil Clojure dari Jawa

. Pengenalan.

Memanggil Clojure dari Java boleh menjadi rumit kerana kebanyakan cadangan Google sudah lapuk. Artikel ini menyediakan langkah yang jelas untuk membuat panggilan ini, dengan andaian anda telah membina JAR daripada projek Clojure dan menambahkannya pada laluan kelas.

. Memanggil Clojure.

Untuk berjaya memanggil Clojure dari Java, gunakan langkah ini:

  1. Isytiharkan ruang nama dengan :gen-class untuk mencipta Java class dan :methods untuk menentukan kaedah yang boleh dipanggil oleh Java.
  2. Buat pembungkus fungsi (-binomial dalam contoh ini) yang boleh dipanggil oleh Java.
  3. Sertakan JAR Clojure dalam laluan kelas.

. Contoh Dikemaskini.

Bahagian Clojure:

(ns com.domain.tiny
  (:gen-class
    :name com.domain.tiny
    :methods [#^{:static true} [binomial [int int] double]]))

(defn binomial
  "Calculate the binomial coefficient."
  [n k]
  ...)

(defn -binomial
  "A Java-callable wrapper around the 'binomial' function."
  [n k]
  (binomial n k))
Salin selepas log masuk

Bahagian Java:

import com.domain.tiny;

public class Main {

    public static void main(String[] args) {
        System.out.println("(binomial 5 3): " + tiny.binomial(5, 3));
        System.out.println("(binomial 10042, 111): " + tiny.binomial(10042, 111));
    }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Berjaya Memanggil Fungsi Clojure dari Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan