Lecture des arguments de ligne de commande

Clojure:
Lecture des arguments de ligne de commande

How to:

En Clojure, on utilise la variable globale *command-line-args* pour accéder aux arguments. Regardez comment on fait :

;; Lancer le programme : `clojure monscript.clj arg1 arg2`

(defn main []
  (println "Arguments de la ligne de commande:" *command-line-args*))

(main)

Sortie typique :

Arguments de la ligne de commande: (arg1 arg2)

On peut aussi parcourir les arguments :

;; Lancer le programme : `clojure monscript.clj pomme orange banane`

(defn main []
  (doseq [arg *command-line-args*]
    (println "Fruit:" arg)))

(main)

Sortie :

Fruit: pomme
Fruit: orange
Fruit: banane

Deep Dive

Avant, en Clojure, on utilisait *command-line-args* directement, mais c’est un peu brut. Aujourd’hui, on préfère souvent des bibliothèques comme tools.cli pour une analyse plus fine.

*command-line-args* est un vestige des premiers jours de Clojure, mais c’est toujours là, simple et pur. Si besoin est, on utilise des packages spécialisés qui s’occupent des drapeaux et des options (comme tools.cli, qui est un choix solide).

Pourquoi pas utiliser *command-line-args* pour tout ? Parce que dès que les choses se corsent (options complexes, besoin de validation, etc.), tu vas vouloir quelque chose de plus costaud.

See Also

Pour approfondir, voici quelques liens :