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.
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.
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);