Verarbeiten von Optionen

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

Concatenate4.om
(* set defaults *)
numbered := FALSE;
silent := FALSE;
(* set usage line *)
Args.Init("[-n] [-s] {file}");
(* process options *)
WHILE Args.GetFlag(option) DO
   CASE option OF
   | "n":   numbered := TRUE;
   | "s":   silent := TRUE;
   ELSE
      Args.Usage;
   END;
END;

*Das originale cat-Kommando unterstützt einige Optionen, wovon hier zwei beispielhaft implementiert werden:

-nGib vor jeder Zeile die Zeilennummer aus.
-sIgnoriere nicht zu öffnende Dateien.

 

*Mit Args.Init wird die Kommandozeilen-Syntax spezifiziert, die ggf. später von Args.Usage ausgegeben wird.
 
*Args.GetFlag holt die nächste Option von der Kommandozeile. Diese Prozedur liefert FALSE, sobald alle Optionen abgearbeitet sind. Dann bleiben nur noch die Dateiargumente (ohne führenden Bindestrich) übrig.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005