User manual
Beispiel:
addvector(a[], const b[], size)
{
for (new i = 0; i < size; i++)
a[i] += b[i]
}
Arrays werden immer als Referenz übergeben.
Hinweis: Das Array "b" im oben gezeigten Beispiel wird in der Funktion nicht verändert.
Dieses Funktionsargument wurde als "const" deklariert, um dies explizit zu machen.
Zusätzlich zur verbesserten Fehlererkennung, erlaubt es dem Compiler einen effizenteren
Code zu generieren.
Das folgende Codebeispiel ruft die Funktion "addvector" auf und addiert zu jedem Element der
Variablen "vect" den Wert 5:
new vect[3] = [ 1, 2, 3 ]
addvector(vect, [5, 5, 5], 3)
/* vect[] beinhaltet nun die Werte 6, 7 und 8 */
4.4.7.2 Benannte Parameter versus positionsgebundene Parameter
In den vorangegangenen Beispielen war die Reihenfolge der Parameter bei einem Funktionsaufruf
wichtig, da jeder Parameter zu dem Funktionsparameter mit derselben Position kopiert wurde. Zum
Beispiel bei der "weekday" Funktion, die unterhalb definiert wird, würde der Aufruf "weekday(12, 31,
1999)" lauten, um den Wochentag des letzten Tages des letzten Jahrhunderts zu erhalten.
weekday(month, day, year)
{
/* gibt den Tag der Woche zurück: 0=Samstag, 1=Sonntag, etc. */
if (month <= 2)
month += 12, --year
new j = year % 100
new e = year / 100
return (day + (month+1)*26/10 + j + j/4 + e/4 - 2*e) % 7
}
Das Datumsformat unterscheidet sich je nach Kultur und Nation, während in den Vereinten Staaten
von Amerika das Format Monat/Tag/Jahr verbreitet ist, verwenden europäische Staaten oft das
Format Tag/Monat/Jahr und in technischen Publikationen wird Jahr/Monat/Tag (ISO/IEC 8824)
verwendet. Mit anderen Worten, keine Reihenfolge der Parameter ist "standardisiert" oder
"normal". Aus diesem Grund gibt es eine alternative Möglichkeit, um Parameter an eine Funktion zu
übergeben: die "benannten Parameter". Diese wird im nächsten Beispiel gezeigt (die Funktion
wurde genau wie im vorherigen Beispiel deklariert).
110 Rev. 01