Swift:
Lesen von Kommandozeilenargumenten
So geht’s:
Swift macht das Einlesen von Kommandozeilenargumenten einfach. CommandLine.arguments enthält alle Argumente als [String], direkt loslegen:
// main.swift
for arg in CommandLine.arguments {
print(arg)
}Wenn du das Programm mit swift main.swift eins zwei drei ausführst, bekommst du:
main.swift
eins
zwei
dreiTiefgang:
Historisch gesehen kommen Kommandozeilenargumente aus den Zeiten vor grafischen Oberflächen. Nutzer interagierten textbasiert mit dem Betriebssystem.
Alternativen zu CommandLine.arguments inkludieren Umgebungsvariablen (ProcessInfo.processInfo.environment) oder spezielle Parsing-Bibliotheken, die mehr Komplexität erlauben, etwa Swift Argument Parser.
Bei der Implementierung solltest du berücksichtigen, dass CommandLine.arguments das erste Argument, den Pfad zur ausführbaren Datei, immer enthält. Nicht-Kommandozeilenprogramme sollten das nicht nutzen – es gibt bessere Wege, um mit einem Benutzer zu interagieren.
Siehe auch:
- Apple’s Dokumentation zu ProcessInfo und CommandLine.
- Der offizielle Swift Blog Beitrag über den Swift Argument Parser.
- Eine Anleitung zum Parsing von Kommandozeilenargumenten mit dem Swift Argument Parser: Ray Wenderlich Tutorial.