Függvény írása
Függvényeket a C++-hoz hasonlóan lehet deklarálni, azzal a különbséggel, hogy
a fun
vagy function
kulcsszavaknak meg kell előzniük a deklarációt.
A deklaráció és definíció szétválasztására nincs mód.
// 'funk' függvény definiálása
fun void funk( int arg )
{
// függvény törzse
}
// 'addOne' függvény definiálása
fun int addOne(int x)
{
// eredmény
return x + 1;
}
Függvény hívása
Függvény hívása a C++-szal analóg módon történik.
// 'hey' definiálása
fun int hey( int a, int b )
{
return a + b;
}
// függvény hívása, visszatérési érték eltárolása
hey( 1, 2 ) => int result;
Függvény hívására a ChucK operátor is használható.
// 'hey' hívása
( 1, 2 ) => hey => int result;
// ugyanaz, mint fent
hey( 1, 2 ) => int result;
// több függvény hívása egymás után
( 10, 100 ) => Std.fabs => Std.mtof => float foo;
// ugyanaz, mint fent
Std.mtof( Std.fabs( 10, 100 ) ) => float foo;
Túlterhelés
Függvény túlterhelése lehetővé teszi, hogy különböző paraméterű függvényeket deklaráljunk
ugyanazzal a névvel. A függvények visszatérési értékének meg kell egyeznie.
// funk( int )
fun int add(int x)
{
return x + x;
}
// funk( int, int )
fun int add(int x, int y)
{
return x + y;
}
// a fordító kiválasztja a megfelelő függvényt
add( 1 ) => int foo;
add( 1, 2 ) => int bar;