¿Cómo puedo tomar un gran proyecto de Java existente y comenzar a agregar los módulos de Clojure? Por ejemplo, en el siguiente código, me gustaría que las siguientes funciones estén disponibles en Java: state ?, zip ?, state-list, zipcode-list. Los dos predicados devolverán un valor booleano, pero los "getters" devolverán los arrays.¿Cómo integrar Clojure en un proyecto Java existente?
(def *states* (list "NJ" "NY" "CA")) (def *zipcodes* (list 12345 54343 98765)) (defn member [x sq] (if (seq sq) (if (= x (first sq)) sq (recur x (rest sq))))) (defn state? [aState] (not (= (member aState *states*) nil))) (defn zip? [aZip] (not (= (member aZip *zipcodes*) nil))) (defn state-list [] *states*) (defn zipcode-list [] *zipcodes*) ;; --------------- (state? "AA") (state? "CA") (zip? 11111) (zip? 12345)
miré el README Leiningen pero yo no vi nada que explica esto. ¿Conoces algún blog, etc. que pueda explicar esto con cierto detalle? ¿Cómo se devolverán mis listas a Java, por ejemplo? –
convierte el vector clojure a una lista java con
to-list
y lo devuelve desde la función. más aquí: http://clojure.org/java_interop#toc27 –Creo que a las redes les faltan explicaciones sobre esto. –