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
drei
Tiefgang:
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.