dedlfix: Mehrere vs. ein einziges return

Beitrag lesen

Hi!

Wie dem auch sei, ich kann dir nicht folgen. Du hast ursprünglich geschrieben:

Wie gesagt, ein return ist eine unmissverständliche und direkte Anweisung. An anderer Stelle bewertete Ergebnisvariablen müssen erst angelegt und dann noch durch den Code verfolgt werden. Sie bewirken etwas indirektes.
Bitte erläutere das an einem Beispiel: Was sind/ist die "Ergebnisvariable(n)"? Wo werden sie bewertet? Ich fürchte, ohne Beispiel versteh ich dich nicht.

Direkt:

function foo() {
  ...
  return 42;
}

Indirekt:

function foo() {
  ...
  $ergebnisvariable = 42;
  ...
  return $ergebnisvariable;
}

Bei Schleifen ist das ähnlich, da beinhaltet die Ergebnisvariable das Signal zum Abbrechen. Bei den "an anderer Stelle bewerteten Ergebnisvariablen" bezog ich mich auf Schleifen, bei denen aus dem Ergebnis der eigentlichen Abbruchbedingung erst noch eine Hilfsvariable befüllt wird, bevor sie an anderer Stelle (Kopf oder Fuß) ausgewertet den Abbruch bewirkt.

Im Grunde genommen ist die Betrachtung von Notationsweisen der Abbruchbedingungen von Schleifen und dem Rückgabewert von Funktionen nicht weiter verschieden.

Lo!