In clojure, le risposte a How to list the functions of a namespace? sono utili se ho in mente un namespace, in particolare (ns-imports 'my-package)
mi può dire del codice Java che è stato importato. Posso trovare l'elenco degli spazi dei nomi con (all-ns)
. C'è un modo simile per trovare l'elenco di tutti i pacchetti java disponibili e per visualizzare l'anteprima delle classi java che non sono ancora state importate?elenco disponibile pacchetti java e classi all'interno di clojure
Sto creando un sacco di file JAR e .class disponibili da Leiningen tramite :resource-paths
e :java-source-paths
rispettivamente. Ma dal momento che sono nuovo alla base di codice Java, non so in realtà quali sono i pacchetti definiti per importarli. Potrei fare qualcosa con find, xargs e grep, ma sarebbe bello avere queste informazioni disponibili a livello di programmazione. Inoltre, in futuro, mi piacerebbe essere in grado di fare "riflessione" sulla base di codice Java da Clojure, ad esempio, notando quando una nuova classe è stata definita.
Nel mondo LISP, c'è una funzione chiamata `fare-esterni-simboli e ho googled per questo, alzare this discussione a partire dal 2007. E sembra che le cose sono stati risolti per Clojure sé, ma è meno chiaro Clojure di vista di Java.
Ecco alcune cose che possono migliorare questa risposta: un collegamento a quella libreria e un esempio di codice che elenca effettivamente le classi. O almeno un link ai documenti che ne ha o ne fa riferimento uno. –