Tabell Datatype

En tabell er en nummerert liste av verdier. Hvert element i en tabell kan brukes ved hjelp av indeksering. Hvis en variabel arr er en tabell så kan man hente ut det femte elementet ved å bruke fem som en index, slik som dette:

    x = arr[5];

Merk at det er ulovlig å hente ut et tabell element som ikke har blitt gitt en verdi.

I Basus så utvides tabeller automatisk når verdier blir lagt til. Tilordning av verdier til tabell elementer blir gjort ved å bruke en tabell variabel og indeks på venstre side av et likhetstegn:

    arr[5] = "foo";

Funksjonen maxIndex vil returnere den høyeste gyldige indeksen for en tabell, med andre ord den høyeste indeksen som har blitt tilordnet en verdi. Dette kan bli brukt for å gå igjennom elementene i en tabell, som i dette eksempelet:

    for index = 1 to maxIndex(arr) do
        println(arr[index]);
    done;

Basus har ingen regel for hva den første indeksen i en tabell skal være. I noen språk må tabeller indeksen starte fra 1 i andre språk fra 0. Med Basus kan man velge selv hvilken indeks man vil starte med, utifra hva som passer beste med hva man ønsker å gjøre.

Verdiene i en tabell kan ha vilkårlig datatype, inkludert tabell. Her er et eksempel på hvordan man kan legge forskjellige datatyper i samme tabell:

    arr[1] = 42;
    arr[2] = 3.14;
    arr[3] = TRUE;
    arr[4] = "Basus";

    other_arr[1] = arr;

Merk at det siste uttrykket i eksempelet over legger man til arr tabellen som det første elementet i tabellen other_arr. Dette fører til at other_arr blir en multi-dimensjonal tabell. For å hente verdier fra en multi-dimensjonal tabell så bruker man en liste av indekser separert med komma. Basert på eksempelet over så kan man gjøre dette for å hente ut "Basus":

    println(other_arr[1, 4]);

Her er et eksempel på hvordan man kan tilordne en ny verdi til det samme elementet.

    other_arr[1, 4] = "foo";