Maison > Java > javaDidacticiel > Comment appeler des fonctions Clojure depuis Java sans utiliser la compilation RT ?

Comment appeler des fonctions Clojure depuis Java sans utiliser la compilation RT ?

DDD
Libérer: 2024-12-21 19:10:12
original
832 Les gens l'ont consulté

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

Interopérer avec Clojure à partir de Java sans compilation RT

Malgré les recommandations obsolètes d'utiliser la classe clojure.lang.RT pour Clojure-to-Java interopérabilité, les approches actuelles ne nécessitent plus cette méthode. Cette méthode améliorée consiste à compiler le code Clojure dans un JAR autonome et à l'appeler directement depuis Java. Voici un guide étape par étape :

  1. Compilez le code Clojure :

    • Créez un fichier Clojure contenant les fonctions que vous souhaitez appel depuis Java.
    • Assurez-vous que le fichier Clojure inclut le mot-clé :methods pour générer des méthodes statiques dans Java.
    • Compilez le fichier dans un JAR à l'aide de la commande : lein jar.
  2. Accédez aux fonctions Clojure depuis Java :

    • Incluez le JAR Clojure généré dans le fichier de votre projet Java classpath.
    • Créez des classes Java qui importent les classes Clojure nécessaires et invoquez les méthodes statiques avec le préfixe -.
  3. Exemple de code 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))))))
    Copier après la connexion
  4. Exemple Java Code :

    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));
        }
    }
    Copier après la connexion
  5. Exécuter le programme Java :

    • Compilez la classe Java avec javac et générez un JAR avec jar ou un IDE.
    • Exécutez le JAR pour appeler les fonctions Clojure à partir de Java.

Cette approche permet une interopérabilité transparente entre Clojure et Java, éliminant le besoin d'étapes intermédiaires ou de procédures de compilation complexes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal