DIM Array()

Liberty BASIC ondersteunt enkelvoudige en dubbele gedimensioneerde arrays (reeksen).
Deze kunnen als string of numerieke series worden gedefinieerd. 
De omvang van de afmetingen kan meer dan 2 miljoen elementen zijn, 
zolang er maar genoeg RAM beschikbare is. 

Alle arrays die meer dan 10 elementen bevatten moeten worden gedimensioneerd 
alvorens zij kunnen worden gebruikt. Arrays worden met het DIM statement gedimensioneerd. 

DIM students$(20)
DIM ages(100)

Het opnieuw vaststellen van de omvang van een array wordt gedaan met het REDIM statement, 
maar daarmee wordt de inhoud van de array eerst gewist.

REDIM students$(30)

Dubbel gedimensioneerde arrays moeten altijd vr het gebruik met het 
DIM statement gedimensioneerd worden.

DIM scores$(20, 10)

Het is gelijk teken (=) wordt gebruikt om een waarde aan een element uit een array 
toe te wijzen.  Het element wordt bepaald door zijn indexgetal.  
De index kan als letterlijk getal of als numerieke variabele worden uitgedrukt.  
In het volgende voorbeeld wordt het element met index 2 gevuld met "John."  
Het element met  index 7 wordt gevuld met getal 12. 

students$(2) = "John"

ages(7) = 12

De arrays kunnen op de meeste plaatsen worden gebruikt waar een variabele 
of letterlijke waarde kan worden gebruikt. Om tot de waarde van een element 
in een array toegang te krijgen, wordt de index voor dat element geplaatst binnen haakjes.
In dit voorbeeld, wordt de waarde bij index 4 teruggewonnen uit de array:

thisKid$ = students$(4)
or
print students$(4)

Het gebruik van arrays in lussen (loops). 
n van de grote voordelen van arrays is dat we ze in een loop kunnen benaderen, 
zoals in het volgende voorbeeld wordt getoond,  
waarin de namen van elementen 1 - 30 uit een array worden geprint.

for i = 1 to 30
    print students$(i)
next


Input naar arrays
In vroegere versies van Liberty BASIC, was het niet mogelijk om direct in arrays gegevens
in te voeren.  Die beperking bestaat niet meer in Liberty BASIC 3.  
Het is nu mogelijk om zowel INPUT als LINEINPUT te gebruiken om gegevens 
uit geopende bestanden direct  in te lezen in arrays.

'now works:
open "myfile.dat" for input as #f
input #f, itemArray$(1)
close #f

Het is echter nog steeds noodzakelijk met het commando READ eerst de gegevens 
in variabele in te lezen, en pas daarna een serie element ermee in te vullen:

'wrong:
read numericArray(1)

'correct:
read num1
numericArray(1) = num1


For more, see ARRAYS, DIM, SORT, and Sorting Arrays.

DIM array(size)       -or-      DIM array(size, size)

DIM   array1(size1),   array2(size2),   array3(size3), etc.

Beschrijving: 
DIM zet de maximumgrootte van een array (serie).  
Het maakt qua grootte niets uit, elke array kan worden gedimensioneerd 
zolang het geheugen dat toelaat.  Als een array niet uitdrukkelijk wordt gedimensioneerd, 
dan zal de array (reeks) tot 11 elementen, 0 tot 10 beperkt zijn. 
De niet gedimensioneerde tweevoudige arrays zullen tot 100 elementen 0 tot 9 bij 0 tot 9 
worden beperkt.  Het DIM statement kan op n regel staan waarin
 meerderde arrays gedimensioneerd worden, zolang die maar door komma's worden gescheiden.

Gebruik:

'Example 1
  print "Please enter 10 names."

  for index = 0 to 10
    input names$ : name$(index) = name$
  next index

'Example 2
  'Dimension three arrays at once
  dim arrayOne(100), arrayTwo$(100, 5), arrayThree(100, 100)

In het voorbeeld hierboven wordt de FOR. . . NEXT loop beperkt tot een maximumwaarde 
van 10 omdat de array names$ () niet wordt gedimensioneerd, 
en daarom beperkt is tot 11 genummerde elementen, 0 - 10.  Om dit probleem te verhelpen,
voeg een DIM statement,  zoals in het voorbeeld hieronder toe. 
Merk op dat het niet noodzakelijk is om alle beschikbare indexgetallen te gebruiken. 
In het voorbeeld wordt de array gevuld vanaf index 1, en wordt  index 0 genegeerd.

  dim names$(20)
  print "Please enter 20 names."
  for index = 1 to 20

    input names$ : names$(index) = name$
  next index

Arrays met een dubbele subscript kunnen informatie flexibel opslaan:

  dim customerInfo$(10, 5)
  print "Please enter information for 10 customers."
  for index = 0 to 9
    input "Customer name >"; info$ : customerInfo$(index, 0) = info$
    input "Address >"; info$ : customerInfo$(index, 1) = info$
    input "City >"; info$ : customerInfo$(index, 2) = info$
    input "State >"; info$ : customerInfo$(index, 3) = info$

    input "Zip >"; info$ : customerInfo$(index, 4) = info$
  next index