User manual
muss global definiert, d.h. außerhalb einer anderen Funktion deklariert werden und ist global
verfügbar.
Wenn ein Semikolon der Funktionsdeklaration folgt (anstatt einer Anweisung), dann ist dies eine
Vorwärtsdeklaration einer Funktion.
Die "return"-Anweisung setzt den Rückgabewert der Funktion. Zum Beispiel, hat die Funktion "sum"
(siehe unten) als Rückgabewert die Summe der beiden Parameter. Der "return"-Ausdruck ist
optional.
sum(a, b)
{
return a + b
}
Argumente einer Funktion sind (implizit deklarierte) lokale Variablen für diese Funktion. Der
Funktionsaufruf bestimmt die Werte der Argumente. Ein weiteres Beispiel für eine vollständige
Definition einer Funktion ist "leapyear", die "true" für ein Schaltjahr und "false" für kein Schaltjahr
zurückgibt.
leapyear(y)
{
return y % 4 == 0 && y % 100 != 0 || y % 400 == 0
}
Die Anweisungen, die in diesem Beispiel verwendet wurden, werden im Kapitel "Operatoren und
Ausdrücke" auf Seite 96 behandelt.
Normalerweise beinhalten Funktionen lokale Variablendeklarationen und bestehen aus einer Block-
Anweisung.
Hinweis: Im nächsten Beispiel verhindert die "assert"-Anweisung negative Werte für den
Exponenten
power(x, y)
{
/* gibt x hoch y zurück*/
assert y >= 0
new r = 1
for (new i = 0; i < y; i++)
r *= x
return r
}
Eine Funktion kann mehrere "return"-Anweisungen enthalten, eine wird z.B. benutzt um schnell
eine Funktion zu beenden, wenn ungültige Parameter übergeben werden, oder wenn sich
herausstellt, dass die Funktion nichts zu tun hat. Wenn eine Funktion ein Array zurückgibt, müssen
alle "return" Anweisungen ein Array mit derselben Anzahl von Einträgen zurückgeben.
108 Rev. 01