Lecture des arguments de ligne de commande

Elixir:
Lecture des arguments de ligne de commande

Comment faire :

# Pour récupérer tous les arguments :
args = System.argv()
IO.inspect(args)

# Pour exécuter :
# elixir script.exs arg1 arg2 arg3

# Sortie attendue :
# ["arg1", "arg2", "arg3"]
# Pour utiliser un argument spécifique, comme si on voulait le premier :
[first_arg | _] = System.argv()
IO.puts "Le premier argument est : #{first_arg}"

# Sortie si on exécute `elixir script.exs salut` :
# Le premier argument est : salut

Exploration :

Historiquement, la lecture des arguments de la ligne de commande vient des premiers jours de l’informatique, car c’était le moyen principal d’interagir avec les logiciels. Dans Elixir, System.argv() est la façon la plus simple de les récupérer, mais on peut aussi utiliser des bibliothèques comme OptionParser pour plus de fonctionnalités, comme valider et caster les valeurs, ou même pour créer de l’aide automatiquement.

Par ailleurs, Elixir étant basé sur Erlang, il hérite également de ses méthodes de lecture des arguments de la ligne de commande. Quand on lance un script Elixir, on peut également passer des arguments à la machine virtuelle Erlang (par exemple, pour contrôler le comportement du garbage collector).

Enfin, côté implémentation, System.argv() est un appel de fonction qui interroge les données déjà parsées et stockées par la machine virtuelle au moment du démarrage du programme. Cela signifie que le coût en performance est minime et que l’utilisation est très simple.

Voir également :