Eine Alternative zur while-Schleife

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Wenn bei einer while-Schleife das Ermitteln der Abbruchbedingung sehr umfangreich ist, wird man diese Ermittlung in eine Funktion packen mit der Abbruchbedingung als Rückgabewert, und in der Schleife den Rückgabewert abfragen. Es sind jedoch auch Programmiersprachen denkbar, welche anstelle von Funktionen lediglich einfache Unterprogramme mit gleichberechtigten Parametern ohne expliziten Rückgabewert erlauben. Eine Alternative zur while-Schleife, die beliebig umfangreiches Ermitteln der Abbruchbedingung erlaubt, ohne dass man das Ermitteln in eine Funktion auslagern muss, wäre die Schleife mit Einsprung, deren Schlüsselwörter hier l-jp und there und repeat-if heissen sollen. repeat-if springt zum Start des Schleifenkörpers. l-jp springt zur Marke there.

l-jp
   Schleifenkörper
there
   Ermitteln der Abbruchbedingung mit Ergebnis x=0
repeat-if x>0

ersetzt die while-Schleife
while test>0
   Schleifenkörper

mit der separat vereinbarten Funktion test
function test
   Ermitteln der Abbruchbedingung mit Ergebnis x=0
return(x)

Beitrag im Forum
Gibt es eine Programmiersprache mit diesem Schleifentyp?