Sono abbastanza semplice usare una classe Ruby da Clojure. I fattori complicanti sono che la classe è fornita in una gemma. L'approccio ottimale sarebbe quella di impostare il mio file di progetto Leiningein lungo le linee di:Utilizzo della classe JRuby fornita in una gemma di Clojure
(project foo ""
...
:dependencies [[clojure ...]
[jruby ... ]])
Allo stesso modo io preferirei di controllare semplicemente la gemma e le sue dipendenze nella directory repo locale. Pertanto, dal mio utilizzo ideale sarebbe quindi:
(ns bar.baz
(require [jruby.something :as jruby])
(def obj (jruby/CreateAnInstance "TheGemClass"))
(def result (jruby/CallAMethod obj "method_name" some args))
Grazie.
ha funzionato perfettamente, grazie. L'unica modifica che dovevo fare era importare 'JavaEmbedUtils' prima di eseguire il comando precedente. – fogus
Ho dovuto fare quanto segue per farlo funzionare: (ns try-jruby.core (import org.jruby.javasupport.JavaEmbedUtils)) – firesofmay