Zurück Weiter Kapitel

Operatoren

Operatoren sind eine Kombination aus folgenden Zeichen: (Tilde) + - * / = > < & | ^. Darauf wird in diesem Abschnitt näher eingegangen. Man unterscheidet vier Arten von Operatoren:

Jedem Operator ist ein Prioritätswert zugeordnet, der die Reihenfolge bestimmt, in der die Operationen in einem Ausdruck ausgeführt werden. Operatoren mit höherer Priorität (8) werden vor solchen mit niedriger Priorität (1) ausgeführt.

Arithmetische Operatoren

Eine wichtige Klasse der Operatoren sind solche, die Zahlen darstellen. Zahlen bestehen aus den Zeichen 0-9, Punkt (.), Pluszeichen (+), Minuszeichen (-) und Leerzeichen. Zur Darstellung der Exponentialschreibweise kann auf eine Zahl ein "e" oder "E" und eine ganze Zahl (mit Vorzeichen) folgen.

Zur Angabe von Zahlen können Zeichenfolgen und Symbole verwendet werden. Da die Sprache typenlos ist, müssen Variablen nicht vor der Verwendung in arithmetischen Operationen als numerisch deklariert werden. Statt dessen wird jede Wertzeichenfolge bei der Verarbeitung daraufhin überprüft, ob sie eine Zahl darstellt. Die folgenden Beispiele stellen alle gültigen Zahlen dar:

33
" 12.3 "
0.321e12
` + 15. `

Voran- und nachgestellte Leerzeichen sind zulässig. Leerzeichen können zwischen einem Plus- oder Minuszeichen (+ oder -) und der darauffolgenden Zahl stehen, aber nicht innerhalb der Zahl selbst.

Die für arithmetische Berechnungen zu verwendende Basisgenauigkeit kann während des Ablaufs eines Programms verändert werden. Die Anzahl geltender Stellen, die in arithmetischen Operationen verwendet werden, richtet sich nach der Vorgabe für Numeric Digits (Numerische Ziffern) und kann über den Befehl NUMERIC verändert werden. Näheres dazu siehe Kapitel 4.2.

Die Anzahl der für ein Resultat zulässigen Dezimalstellen hängt von der Operation und den Dezimalstellen der beteiligten Operanden ab. ARexx verwendet ggf. abschließende Nullen zur Anzeige der Genauigkeit des Resultats. Wenn die Gesamtzahl der zur Wiedergabe eines Wertes erforderlichen Ziffern größer ist als die Voreinstellung für Numeric Digits, wird die Zahl in Exponentialschreibweise formatiert. Dafür gibt es folgende Möglichkeiten:

Tabelle 3-1 zeigt eine Liste arithmetischer Operatoren.

Tabelle 3-1. Arithmetische Operatoren

Operator

Priorität

Beispiel

Resultat

+ (Vorzeichen)

8

+'3.12'

3.12

- (negatives Vorzeichen)

8

-"3.12"

-3.12

** (Potenzierung)

7

0.5**3

0.125

* (Multiplikation)

6

1.5*1.50

2.250

/ (Division)

6

6 / 3

2

% (Ganzzahldivision)

6

-8 % 3

-2

// (Rest)

6

5.1//0.2

0.1

+ (Addition)

5

3.1+4.05

7.15

- (Subtraktion)

5

5.55 - 1

4.55

Verkettungsoperatoren

ARexx definiert zwei Verkettungsoperatoren. Der erste, der durch die Operatorzeichenfolge | | (zwei senkrechte Striche) gekennzeichnet ist, verbindet zwei Zeichenfolgen zu einer Zeichenfolge, ohne daß zwischen den Ausgangszeichenfolgen ein Leerzeichen eingefügt wird. Diese Art der Verkettung kann auch implizit angegeben werden. Wenn ein Symbol und eine Zeichenfolge ohne jedes Leerzeichen eingegeben werden, verhält sich ARexx so, als wäre der Operator | | angegeben worden. Die zweite Verkettungsoperation ist durch den Leerzeichenoperator gekennzeichnet und fügt die zwei Operandenzeichenfolge zusammen, wobei zwischen beide ein Leerzeichen gesetzt wird.

Alle Verknüpfungsoperationen haben die Priorität 4. Tabelle 3-2 faßt die verschiedenen Operationen zusammen.

Operator

Operation

Beispiel

Resultat

| |

Verkettung

`Is was,'||'Doc?'

Is was, Doc?

Leerzeichen

Verkettung mit Leerzeichen

`Guten' `Tag'

Guten Tag

Keiner

Implizite Verkettung

eins'zwei'drei

EINSzweiDREI

Tabelle 3-2. Verkettungsoperatoren

Hoch Zurück Weiter Kapitel