En funksjon er en blokk med kode som kan bli kjørt ved å gjøre et funksjonskall. Når en funksjon blir kalt så vil koden inni funksjonen bli kjørt. Når funksjonen er ferdig så vil man fortsette med å kjøre koden som følger funksjonskallet.
I Basus finnes det flere innebygget funksjoner som man kan kalle. I tillegg så kan man definere nye funksjoner.
Noen funksjoner returnerer en verdi som kan brukes som en del av et uttrykk. Andre funksjoner returnerer ikke noen verdi. Man må ikke bruke retur verdien til noe, man kan også ignorere return verdier hvis man har lyst.
Funksjoner kan ta 0 eller flere argument som de kan operere med. Argumentene som sendes til en funksjon må ha korrekt datatype som er forventet av funksjonen.
Alle datatyper unntatt tabeller blir sendt inn til funksjonen ved å kopiere verdien. Dette betyr at hvis funksjonen endrer på verdiene til argumentene sine så vil den operere på kopier av verdien og endringene vil derfor ikke være synlig for den som kaller funksjonen. Tabeller blir sendt med en referanse, så alle forandringer som gjøres på en tabell inni funksjonen vil bli synlig for den som kaller funksjonen.
Et funksjonskall gjøres ved å bruke navnet til funksjonen etterfulgt av en liste med argumenter i parentes. Denne listen med argumenter kan være tom.
funksjon-navn(variabel-liste);
println("Hello!");
eller
charCode = readChar();