Lesen von Kommandozeilenargumenten

Elixir:
Lesen von Kommandozeilenargumenten

How to:

In Elixir greifst du mit System.argv() auf die Argumente zu. Einfaches Beispiel:

defmodule CLIExample do
  def main do
    args = System.argv()
    IO.inspect(args)
  end
end

CLIExample.main()

Führe das Programm so aus: elixir script.exs arg1 arg2 arg3 Ausgabe: ["arg1", "arg2", "arg3"]

Möchtest du Argumente umwandeln oder Default-Werte setzen? Schau dir OptionParser.parse/2 an:

defmodule CLIExample do
  def main do
    {options, _, _} = OptionParser.parse(System.argv(), switches: [name: :string])

    case options do
      [name: name] -> IO.puts("Hallo, #{name}!")
      _ -> IO.puts("Kein Name angegeben.")
    end
  end
end

CLIExample.main()

Führe das Programm so aus: elixir script.exs --name Hans Ausgabe: Hallo, Hans!

Deep Dive

Elixir’s Kommandozeilenargumente sind nicht revolutionär. Sie machen, was sie sollen - ähnlich wie in anderen Sprachen. Doch mit Pattern Matching und der robusten OptionParser-Modul bietet Elixir einen eleganten Weg, Argumente zu handhaben.

Früher, in Sprachen wie C, musstest du oft mühsam die argv Variable manuell parsen. Aber heutzutage bieten die meisten Sprachen, auch Elixir, komfortable Lösungen für so alltägliche Aufgaben.

Es gibt Alternativen zu System.argv() und OptionParser.parse/2, wie z. B. das Einbinden von externen Bibliotheken für komplexere CLI-Anwendungen. Diese bieten oft zusätzliche Features wie automatische Hilfe-Seiten oder Befehlsvalidierungen.

Elixir selbst kommt mit mächtigen Werkzeugen für Kommandozeilenoptionen, die in vielen Fällen völlig ausreichen. Und dank Elixir’s konsequentem Functional-Programming-Ansatz sind diese Werkzeuge oft überraschend einfach in der Anwendung.

See Also

Mit diesen Ressourcen kannst du tiefer in die Materie eintauchen und deine Skills im Umgang mit Kommandozeilenargumenten in Elixir verbessern.