Clojure:
Lettura degli argomenti della riga di comando
How to:
Clojure fornisce un modo semplice per accedere agli argomenti della riga di comando tramite la var *command-line-args*
. Ecco un esempio:
; Stampa gli argomenti della riga di comando
(defn print-args []
(doseq [arg *command-line-args*]
(println arg)))
(defn -main [& args]
; Opzionalmente, puoi passare args a print-args se necessario
(print-args))
Esegui il script con alcuni argomenti:
$ clojure script.clj ciao mondo
ciao
mondo
Deep Dive
In Clojure, *command-line-args*
è una var globale impostata ai valori degli argomenti della riga di comando non consumati da Clojure stesso. Questo significa che quando esegui un programma in Clojure, tutto ciò che segue il nome dello script nella riga di comando viene raccolto in questa var.
Prima di Clojure 1.9, potevi utilizzare direttamente *command-line-args*
, ma ora è consigliato passare gli argomenti usando & args
nel metodo -main
e trattarli localmente. Questa pratica migliora la leggibilità e la portabilità del codice.
Se cerchi alternative, puoi considerare librerie di terze parti come tools.cli
, che offre funzionalità avanzate per l’analisi degli argomenti della riga di comando, inclusa la validazione e l’elaborazione di flag e opzioni.
See Also
- Ufficiale Clojure CLI tools guide
- Libreria tools.cli per funzionalità avanzate di gestione degli argomenti della command line