Zuweisen von Variablen
- Aktualisiert2026-07-22
- 3 Minute(n) Lesezeit
Variablen können mit einfacher Zuweisung, Tupelzuweisung, Zuweisung nach Wert oder Zuweisung nach Referenz zugewiesen werden.
Einfache Zuweisung
Nehmen Sie in PAscript mit dem Operator = Zuweisungen vor.
Target = Statement
Hierbei ist Statement eine Berechnung, Konstante oder ein Funktionsaufruf.
Beispiel
program
section globals
int32 integer
real64 float
text t
endsection
t = "Hello"
integer = 5 * a + 1
float = sin(PI/2)
endprogram
Tupelzuweisung
In PAscript können Funktionen Tupel ausgeben.
[var_1, var_2, ..., var_n] = functionCall ()
Beispiel
program
section globals
int32 integer
real64 float
text t
endsection
[t, integer, float] = myFunction()
endprogram
function [text a, int32 b, real64 c] = myFunction()
a = "Hello"
b = 2
c = 3.1415
endfunction
Zuweisung nach Wert
Wenn Sie eine Variable nach Wert zuweisen, wird eine Kopie des Quellwerts in den Zielwert geschrieben. Wenn sich der Quellwert ändert, enthält der Zielwert immer noch den ursprünglichen Wert.
Mit dem Operator = können Sie einem Zielwert eine einfache Datentypquelle zuweisen. Einfache Datentypen sind Zahlen und Text.
Beispiel
int32 target = 1 int32 source = 123 target = source // target is assigned the value 123 source = 5 // source is assigned the value 5 while the target remains 123
section globals text text1, text2 endsection text1 = "Hello" // text1 is assigned the value "Hello" text2 = text1 // text2 is assigned the value "Hello" text1 = "world" // text1 is assigned the value "world" while text2 remains "Hello"
Zuweisung nach Referenz
Wenn Sie eine Variable nach Referenz zuweisen, wird keine Kopie des ursprünglichen Objekts erstellt. Stattdessen zeigt die Referenz direkt auf das ursprüngliche Objekt. Änderungen an der Quelle werden sofort auf das Zielsystem übertragen.
Mit dem Operator = können Sie einem Zielwert eine komplexe Datentypquelle zuweisen. Komplexe Datentypen umfassen alle Datentypen außer Zahlen und Text.
Beispiel
section globals variant [] table1 endsection variant [10] table2 // Definition local table table2 table2 = table1 // Assignment by reference: table2 is now a synonym for table1 table1:setText(0,"Hello") // Element 0 of table1 and table2 have the value "Hello" table2:setText(1,"world") // Element 1 of table1 and table2 have the value "world"
Stichwort für Referenzen
Verwenden Sie das Stichwort ref, um einfache Variablen per Referenz zu deklarieren. Einfache Variablen umfassen Variablen mit numerischem oder textbasiertem Datentyp.
Verwenden Sie außerdem das Stichwort ref, um Parameter an Tasks weiterzugeben.
Das vorangestellte Stichwort ref zeigt an, dass die Variable der Zielvariablen als Referenz zugewiesen werden soll.
ref datatype variableReference [=Initialization]
Wenn Sie eine Variable mit dem Stichwort ref deklarieren, müssen Sie diese Variable mit dem Stichwort ref einer anderen Variablen zuweisen.
Nachdem Sie der Variablen zugewiesen haben, eine andere Variable zu referenzieren, können Sie die Variable im Programmcode verwenden. Sie können die Variable beispielsweise auf einen Wert setzen. In diesem Fall haben beide Variablen den Wert.
ref int32 variableReference = ref variable1 variableReference = 5 //both variableReference and variable1 have the value 5
Eine mit dem Stichwort ref deklarierte Variable kann jederzeit einer anderen Variablen zugewiesen werden. Wenn Sie eine Variable einer anderen Variablen zuweisen möchten, rufen Sie die Zuweisung erneut mit dem Stichwort ref auf.
Wertetabellen enthalten Referenzen auf Variablen, die in einer Zelle mit :getXXXReference()- und :setXXXReference()-Attributen definiert sind. Die Datentypen int32, real64 und text verfügen außerdem über Hilfsfunktionen zum Ermitteln von Referenzen.
Beispiel: ref-Stichwort
section globals int32 loopCount text fileName endsection int32 loopsValue ref int32 loopReference text fileNameValue ref text fileNameReference // A simple assignment is allowed for loopValue: loopsValue = loopCount // loopReference must be assigned to the reference of a variable before it can be used. // Thus, the following line results in a PAscript error. // loopsReference = loopCount => ERROR // Assign loopsReference to the reference of a variable loopsReference = ref loopCount // Now a simple assignment is allowed loopsReference = loopsValue // loopCount and loopsReference have the value of loopsValue // The same principle applies to the file data type fileNameValue = fileName fileNameReference = ref fileName