A Boo programozási nyelv

Függvények, eljárások

Szintaxis

Függvény: visszatérési értékkel rendelkező számítási eljárás.

Függvényt deklarációja:
def név(argumentumok):
  return valami;



Mint a változóknál, a függvényeknél is képes a Boo kitalálni, hogy milyen típusú a visszatérési érték:
i = 5 def Hello(): return "Hello, World!" def Hello() as string: return "Hello, World!"


Ez a két függvény ugyanazt az eredményt adja, teljesen megegyeznek egymással. Egyértelműen jelezni kell a függvény visszatérési értékét!
Egy függvénynek lehet egy, több különböző illetve semmilyen (void) visszatérési értéke. Ha nincs visszatérési értéke, akkor: return void vagy csak return, illetve return elhagyása is lehetséges.

Paraméterátadás

Argumentum: Egy függvény a program futása során bárhol meghívható, más bemenő adatokkkal.
A Boo-ban minden objektum, referencia szerinti paraméterátadás van. Ha egy függvénynek string a paramétere, és meghívása során nem azt kap, akkor a Boo fordítási idejű hibát fog dobni rá.

Túlterhelés

Túlterhelés: Ugyanazzal a névvel, több fajta argumentumlistával szeretnénk használni egy függvényt. A fordítóprogram fogja eldönteni, hogy melyik az közülük, amely éppen azon a helyen szükséges.

def Hello(): return "Hello, World!" def Hello(name as string): return "Hello, ${name}!" def Hello(num as int): return "Hello, Number ${num}!" def Hello(name as string, other as string): return "Hello, ${name} and ${other}!" print Hello() print Hello("Monkey") print Hello(2) print Hello("Cat", "Dog")


Hello, World!
Hello, Monkey!
Hello, Number 2!
Hello, Cat and Dog!

Az argumentum lehet egy változó is, amely nem egy adatra, hanem egy adatokból álló listára mutat.

def Test(*args as (object)): return args.Length print Test("hey", "there") print Test(1, 2, 3, 4, 5) print Test("test") a = (5, 8, 1) print Test(*a)


2
5
1
3

A * azt mutatja, hogy tetszőleges számú!