Verwenden Sie Listen, um numerische Werte, Texte oder PAscript-Objekte desselben Datentyps zu speichern.

Einführung in PAtools 8.0

Alle Elemente einer Liste haben denselben Datentyp. Für bestimmte Variablen enthält die Liste den Wert einer Variablen zum Zeitpunkt der Addition. Zu diesen Variablen gehören Zahlen-, Text- und Puffervariablen.

Anschließend werden an einer beliebigen Stelle neue Elemente eingefügt oder entfernt. Bei Bedarf wird die Kapazität einer Liste automatisch erhöht, wenn Sie der Liste neue Elemente hinzufügen.

Definition

Definieren Sie Listen nach folgendem Schema:

list<type> identifier

type gehört zu den definierten PAscript-Datentypen. Dann können Sie auf die Liste unter der Kennung zugreifen.

Zugriff auf die Elemente einer Liste

Greifen Sie auf die Elemente einer Liste mit einer der folgenden Methoden zu:
  • Direkt über den Listenindex.
  • Durchlaufen der Listenelemente mit einer Schleife. Diese Schleife verarbeitet alle Listenelemente. Die Schleife füllt eine Iterationsvariable (oder Ausführungsvariable) automatisch mit dem entsprechenden Listenelement.

Direktzugriff auf ein Listenelement

Verwenden Sie den Listenindex, um direkt auf ein Listenobjekt zuzugreifen.

type variable = listVariable[int32 position]
Hinweis Der Index des ersten Listeneintrags lautet 0. Der als position übergebene Wert muss daher kleiner als die Anzahl der Listenelemente (0 ≤ position < list:count) sein.

Beispiel

Program
  list<int8> _list = [1,2,3,4,5]
  int8_result = _list[0]

  sys:logInfo(sys:ui, "result: %d", _result) // => result: 1
endprogram

Zugriff über die foreach-Schleife

Verwenden Sie die foreach-Schleife, um die Elemente einer Liste zu durchlaufen.

foreach iteratorVariable in listVariable
    // Code
    // Optional: exit from the loop by means of break
endforeach

Die Variable iteratorVariable enthält den Wert oder die Referenz auf das aktuelle Listenelement.

Beispiel

Program
  list<int8>  _list = [1,2,3,4,5] 
  int8_iterVar, _result

  foreach _iterVar in _list
    _result = _result + _iterVar
    endforeach
    sys:logInfo(sys:ui, "result: %d", _result) // => result: 15
endprogram
Hinweis Beim Aufruf der foreach-Schleife werden nur gültige Listenelemente ausgegeben. Sie haben beispielsweise den Befehl resize aufgerufen, um die Listenkapazität zu erhöhen. In diesem Fall enthält die Liste leere Elemente. Diese leeren Listenelemente werden nicht in die Iterationsvariable geschrieben.