Raku-Kurs / Grundlagen / Erstellen und Aufrufen von Funktionen
Das Ergebnis zurückgeben
Funktionen führen oft nicht nur etwas aus, sondern geben auch ein Ergebnis zurück. Zum Beispiel sollten in der funktionalen Programmierung Funktionen keine Nebeneffekte wie das Drucken auf die Konsole erzeugen. Nichtsdestotrotz hindert dich Raku nicht daran, dies zu tun. Schauen wir uns an, wie man einen Wert aus einer Funktion zurückgibt und wie man ihn im aufrufenden Code erhält.
sub add($x, $y) {
return $x + $y;
}
my $sum = add(10, 20);
say $sum; # 30
Hier nimmt die Funktion namens add
zwei Zahlen und gibt deren Summe zurück. Es wird ein explizites return
verwendet. Auf der aufrufenden Seite kann der Wert, den die Funktion zurückgibt, wie jeder andere Wert verwendet werden. Im obigen Programm wird er einer Variablen zugewiesen.
Der zuletzt ausgewertete Wert
In Raku ist ein explizites return
nicht erforderlich, wenn das Ergebnis, das du aus einer Funktion zurückgeben möchtest, der zuletzt berechnete Wert in ihrem Körper ist. Unsere add
-Funktion kann vereinfacht werden:
sub add($x, $y) {
$x + $y
}
Wie du vielleicht bemerkt hast, gibt es am Ende der Zeile kein Semikolon, da es nicht erforderlich ist, wenn die Zeile den aktuellen Codeblock beendet.
Solche trivialen und kleinen Funktionen werden oft in einer einzigen Zeile formatiert, um einen kompakteren Code zu erhalten:
sub add($x, $y) { $x + $y }
Keine Rückgabedaten
Wenn du vor dem Ende des Funktionskörpers aus einer Funktion zurückkehren musst und die Funktion kein Ergebnis zurückgibt, verwende ein nacktes return
.
sub test($x) {
return if $x <= 10;
say "$x is above the limit";
}
Praxis
Machen Sie das Quiz, das den Inhalt dieses Themas abdeckt.
Kursnavigation
← Erstellen und Aufrufen von Funktionen / Funktionsparameter | Erstellen und Aufrufen von Funktionen / Positionsparameter →
💪 Or jump directly to the exercises to this section.
Diese Seite wurde automatisch mit ChatGPT 4o übersetzt. Originaler englischer Text.
Übersetzungen dieser Seite: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська