Voorbeelden:
* Functie met een integer - parameter en een integer - resultaat:
function fx ( int x ) returns int
* Functie met een string -parameter
function fx ( string s )
* Functie met een long – array en een integere parameter
function fx ( long a[ ], int i )
* Functie met een gebruiker – gedefinieerde MyType – parameter
function fx ( Mytype t )
5.8.2 Parameters en locale variabelen
In het opdrachtblok van een functie kunnen locale variabelen gedefinieerd worden (zie 5.5.5). De in de
functiekop gedefinieerde parameters kunnen net als parameters gebruikt worden. Numerieke parameters
(byte ... float) zijn echte locale variabelen van de functie. Ze worden bij het oproepen van de functie op
de stack van de actuele thread opgeslagen en met de overgedragen waarde gedefinieerd.
Variabele strings, arrays en parameters met gebruiker – gedefinieerd datatype daarentegen worden
automatisch als referentie doorgegeven. Manipulaties aan referentieparameters hebben effect op het
data – object waaraan gerefereerd wordt.
Voorbeeld:
function fx ( string s )
{
s = "abc";
}
thread main
{
string local_s;
local_s = "123";
fx(local_s);
}
In tegenstelling tot numerieke parameters:
function fx ( int )
{
i = 0;
}
thread main
{
int local_i;
local_i = 1;
fx(local_i);
5.8.3 Einde van een functie en antwoord van het resultaat
Een functie eindigt automatisch, als de programma – uitvoering bij de sluitende accolades van het
opdrachtblok komt. Een functie met antwoord -waarde levert dan het resultaat 0.
/ / local_s wordt "abc"
/ / local_i blijft 1
37