Lettura degli argomenti della riga di comando

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