je le code suivantrésolution se comporte différents dans REPL et -main
(ns clojure-noob.core
(:gen-class))
(defn -main [& args]
(defn A [x] (str x "a"))
(println (A ".")) ; .a
(println A) ; some object
(println (symbol "A")) ; just A
(println (resolve(symbol "A"))) ; nil
(println ((resolve(symbol "A")) ".")) ; nullpointer exception
)
Si j'entre les lignes (en commençant par (defn A ...
) un par un dans rempl, ils se comportent comme prévu. Le dernier
(println ((resolve(symbol "A")) "."))
appelle A sur "." c'est-à-dire qu'il ajoute la lettre a. Mais le tout appelé avec lein run
dans leiningen donne nil
sur le second dernier et une exception de pointeur null sur la dernière ligne, c'est-à-dire resolve
ne résout pas comme prévu.
Qu'est-ce que je fais mal? Quelle est la différence entre lein repl
et lein run
?
Merci beaucoup! Ça fonctionne maintenant. – Rat62
@ Rat62 De cela répond à votre question, vous devez le marquer comme la réponse acceptée m – Carcigenicate