Arrays 

Ein Array ist eine Ansammlung von Variablen unter demselben Namen, jede einzelne zwecks Unterscheidung mit einer Nummer oder einem individuellen Zusatznamen versehen. 

Ganz einfaches Beispiel: eine Liste von Telefonnummern. Wenn wir das Array z.B.  $Tnr nennen, dann könnte es folgende zugehörigen Variablen geben: 

$Tnr[0] = Fritz, 0211-6123457 
$Tnr[1] = Franz, 0341-5432189 
$Tnr[2] = Hinz, 089-11133669 
$Tnr[3] = Kunz, 0791-141516 
usw... 

Während des Programmlaufs, so könnte man sich vorstellen, hätte man vielleicht eine Variable #unr, die eine Zahl enthält: die Nummer eines Mitglieds unserer Liste. Dann könnte man mit  $Tnr[#unr] auf die Telefonnummer des Mitglieds zugreifen wollen. In dieser Weise geht das in FLEX jedoch nicht, sondern einfacher! 

Lösung
Die Elemente des Arrays werden folgendermaßen angelegt, und zwar schreibt man diese Zeilen in einem FLEX einfach so hin: 

$Tnr0  Fritz, 0211-6123457 
$Tnr1  Franz, 0341-5432189 
$Tnr2  Hinz, 089-11133669 
$Tnr3  Kunz, 0791-141516 

Fertig ist das numerierte Array, und die Nummern brauchen gar nicht fortlaufend zu sein! 
Und um auf Mitglied 2 zuzugreifen, wenn die Nummer 2 in #unr steht, schreiben wir: 

var "$Tnr" #unr 
var 
var (b", ") 

und haben in der iV die Telefonnummer 089-11133669. 

Das ganze Geheimnis ist also, daß man auf die eckigen Klammern verzichtet. 

Es geht aber auch noch anders! Sagen wir, ein Name und die zugehörige Telefonnummer liegen vor in den Variablen #una und #ute, z.B. so: 
#una Fritz 
#ute 0211-6123457 
Dann schreiben wir: 

var "$T" #una " " #ute 
ins 

und haben damit eine Variable mit dem Namen $TFritz geschaffen, in der nichts anderes steht als 0211-6123457 steht. 
Nun brauchen wir zu einem anderen Zeitpunkt die Telefonnummer von Fritz in der Variablen #utn. Der Name Fritz stehe in dem Moment in der Variablen #una. Dann schreiben wir: 

var "$T" #una 
var 
ins #utn 

Das ist alles! In manchen Programmiersprachen nennt man so etwas ein assoziatives Array, und die Telefonnummer von Fritz wäre zu finden in  
$T[Fritz] oder $T["Fritz"]. So umständlich muß es nicht sein, hier heißt es schlicht $TFritz

Nun soll zu irgendeinem Zeitpunkt die ganze Variablenliste mal in eine Datei namens telefonliste.txt geschrieben werden. Das geht im FLEX so: 

$1>telefonliste.txt 

Später soll in einer a99-Sitzung die Telefonliste wieder eingelesen werden, um dann erneut zur Verfügung zu stehen. Das geht so 

include telefonliste.txt 

Und schon kann man in der beschriebenen Weise wieder auf die Telefonnummern zugreifen. 

Der halbwegs bewanderte FLEXologe erkennt, daß auch mehrdimensionale Arrays kein Problem sind: man setzt die Namen nur in geeigneter Weise aus mehreren Teilen zusammen, sowohl beim Anlegen wie beim Auslesen der Variablen. Hier kommt einem zugute, daß die Namen der $-Variablen auch Sonderzeichen (ASCII dez. von 33 bis 47 - außer '$', '(' und '='-, ASCII dez. 58 bis 64, ASCII dez. 91 bis 96 und ASCII dez. von 123 bis 255) enthalten dürfen! Eine Array-Variable könnte also einen Namen wie 

$Tberlin.meyer

haben. 

Wie nun aber, wenn wir in einem FLEX die Variable  $TFritz  neu belegen wollen, jedoch "Fritz" steht in der Variablen $name, und der Wert soll "12345" sein, dies jedoch wäre der Inhalt von #utn ? Das geht so: 

var "$T" $name " " #utn 
    in der iV steht nun  $TFritz 12345
insert 
    in der Variablen  $TFritz  steht nun  12345
 
Danach liefert uns   var $TFritz  den Wert "12345"