function

Definerer en funksjon som en kodeblokk som kan bli kalt av andre deler av koden. Funksjonen kan ta 0 eller flere argument.

En funksjon kan returnere en verdi ved å bruke en return setning. I tillegg til å gi en retur verdi så kan en return setning også brukes til å avslutte eksekveringen av en funksjon før den har nådd bunnen.

Variabler som blir satt eller endret inni funksjonen vil også bli forandret på utsiden av funksjonen, med mindre tilordningen blir prefikset med nøkkelordet local. Funksjons argumentene er local uten at man trenger å spesifisere dette, men merk at tabeller blir sendt ved hjelp av referanse så alle endringer som blir gjort med en tabell vil bli synlig etter kallet til funksjonen.

Syntaks

    function funksjon-navn(variabel-liste)
        kodeblokk
    endfunc;

En variabel-liste er en komma separert liste med variabel navn. Listen kan være tom hvis funksjonen ikke tar noen argument.

Eksempel

    function sayHello(name)
        println("Hello, ", name);
    endfunc;

    sayHello("boss");

eller

    function addPercentage(value, percentage)
        local toAdd = value * percentage / 100.0;
        return value + toAdd;
    endfunc;

    vatPercentage = 25.0;
    priceWithoutVat = 50.0;
    toPay = addPercentage(priceWithoutVat, vatPercentage);