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";