CASE-Statement



So läßt sich ein CASE-Statement simulieren:

   Pivot                                % CASE Pivot of:
   { dup 0 eq { BlankProc   exit } if	% 0: BlankProc;
     dup 1 eq { TabProc     exit } if	% 1: TabProc;
     dup 2 eq { NewlineProc exit } if	% 2: NewlineProc;  usw. usf.
     ElseProc				% hier kann ein ELSE-Fall stehen
     exit
   } loop

% Das exit in der vorletzten Zeile sollte zur Sicherheit immer da stehen,
% sonst koennte es eine Endlosschleife geben, falls keiner der aufgezaehlten
% Faelle (0, 1, 2) auftritt und auch keine ElseProc angegeben wurde.
% Ausserdem sollte nach Benutzung dieses Konstrukts das Element 'Pivot' wieder
% vom Stack entfernt werden.

© Holger Gehringer, Dezember 1998