Zurück Weiter Kapitel

Liste der integrierten Funktionen

Dieser Abschnitt enthält eine alphabetisch geordnete Liste der integrierten Funktionen. Die Syntax der einzelnen Funktionen steht jeweils rechts vom Funktionsschlüsselwort.

Syntax

Wahlfreie Argumente stehen in eckigen Klammern und haben normalerweise einen Standardwert, der verwendet wird, wenn das Argument nicht explizit angegeben wird. Wird ein Optionsschlüsselwort als Argument angegeben, ist nur das erste Zeichen von Bedeutung. Bei Optionsschlüsselwörtern wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Viele Funktionen erlauben Füllzeichenargumente. Füllzeichen werden eingefügt, um Leerzeichen auszufüllen bzw. zu erstellen. Bei so einem Füllzeichenargument ist nur das erste Zeichen der Argumentzeichenfolge von Bedeutung. Bei Angabe einer leeren Zeichenfolge wird das standardmäßige Füllzeichen (in der Regel das Leerzeichen) verwendet.

In den folgenden Beispielen bedeutet ein Pfeil -> "wird ausgewertet als", "ergibt". Der Pfeil wird nicht angezeigt, wenn ein Programm ausgeführt wird. Beispiel:

SAY ABS (-5.35) -> 5.35

Dies bedeutet, daß SAY ABS(-5.35) bei Auswertung 5.35 ergibt.

Alphabetische Liste

ABBREV()

ABBREV(Zeichenfolge1,Zeigenfolge2[,Länge])

Diese Funktion gibt einen booleschen Wert zurück, der angibt, ob Zeichenfolge2 eine Abkürzung von Zeichenfolge1 mit einer Länge größer oder gleich der Angabe im Argument "Länge" ist. Standardlänge ist 0, eine leere Zeichenfolge ist also ebenfalls als Abkürzung zulässig. Beispiel:

SAY ABBREV (`vollname', `voll') -> 1
SAY ABBREV (`nahezu, `nah',4) -> 0
SAY ABBREV (`beliebig', ` `) -> 1

ABS()

ABS(Zahl)

Gibt den absoluten Wert des Arguments "Zahl" zurück. Dies muß ein numerischer Wert sein. Beispiel:

SAY ABS (-5.35) -> 5.35
SAY ABS (10) -> 10

ADDLIB()

ADDLIB(Name,Priorität[,Offset,Version])

Fügt eine Funktionsbibliothek oder einen Funktions-Host in die vom residenten Prozeß verwaltete Bibliotheksliste ein. Das Argument "Name" bezeichnet entweder den Namen einer Funktionsbibliothek oder den einem Funktions-Host zugeordneten, allgemein zugänglichen Message-Port. Bei diesem Namen wird zwischen Groß- und Kleinschreibung unterschieden. Alle angegebenen Bibliotheken sollten im Systemverzeichnis LIBS: stehen.

Das Argument "Priorität" bestimmt die Suchpriorität und muß als ganze Zahl im Bereich von 100 bis -100, angegeben werden. Die Argumente "Offset" und "Version" gelten nur für Bibliotheken. Der Offset ist der ganzzahlige Abstand zum "Query"-Einstiegspunkt der Bibliothek. Version ist ebenfalls eine ganze Zahl, die die mindestens erforderliche Version der Bibliothek angibt.

Die Funktion gibt einen booleschen Wert zurück, aus dem hervorgeht, ob die Operation erfolgreich verlief. Beachten Sie bitte, daß eine angegebene Bibliothek zu diesem Zeitpunkt noch nicht geöffnet wird. Entsprechend überprüft ARexx auch noch nicht, ob der Port eines angegebenen Funktions-Hosts geöffnet ist. Beispiel:

SAY ADDLIB ("rexxsupport.library",0,-30,0) -> 1
CALL ADDLIB "EtherNet",-20 /*Ein Gateway*/

ADDRESS()

ADDRESS()

Gibt die aktuelle Zeichenfolge der Host-Adresse zurück. Die Host-Adresse ist der Message-Port, an den Kommandos gesendet werden. Mit der Funktion SHOW() kann geprüft werden, ob der gewünschte externe Host auch tatsächlich verfügbar ist (siehe auch SHOW()). Beispiel:

SAY ADDRESS () -> REXX

ARG()

ARG([Nummer][,'EXISTS'|'OMITTED'])

ARG() gibt die Anzahl der Argumente zurück, die der aktuellen Umgebung zur Verfügung gestellt wurden. Wird nur das Argument "Nummer" angegeben, wird die entsprechende Argumentszeichenfolge zurückgegeben. Bei Angabe einer Nummer und des Schlüsselworts EXISTS (vorhanden) oder OMITTED (nicht vorhanden) zeigt der boolesche Rückgabewert den Status des entsprechenden Arguments an. Beachten Sie bitte, daß die Überprüfung mit dem Schlüsselwort EXISTS oder OMITTED nicht darauf schließen läßt, ob die betreffende Zeichenfolge einen Nullwert hat, sondern nur, ob überhaupt eine Zeichenfolge angegeben wurde. Beispiel:

/*Angenommen, die Argumente sind: (`eins',,10)*/
SAY ARG() -> 3
SAY ARG(1) -> eins
SAY ARG(2,'O') -> 1

B2C()

BsC(Zeichenfolge)

Wandelt eine Zeichenfolge aus Binärziffern (0,1) in die entsprechende (gepackte) Zeichendarstellung um. Die Umwandlung läuft genau so ab wie bei Angabe des Arguments "Zeichenfolge" als Binärzeichenliteral (z.B. `1010'B). Leerzeichen in der Zeichenfolge sind zulässig, allerdings nur an Bytegrenzen. Diese Funktion eignet sich besonders für die Erstellung von Zeichenfolgen, die als Bitmasken verwendet werden sollen (siehe auch X2C()). Beispiel:

SAY B2C(`00110011') -> 3
SAY B2C(`01100001') -> a

BITAND()

BITAND(Zeichenfolge1,Zeichenfolge2[,Füllzeichen])

Die Argumente "Zeichenfolge1" und "Zeichenfolge2" werden durch ein logisches UND miteinander verbunden, wobei das Ergebnis so lang ist wie die längere der beiden Operandenzeichenfolgen. Wird ein Füllzeichen angegeben, so wird die kürzere Zeichenfolge rechts damit aufgefüllt. Andernfalls wird die Operation am Ende der kürzeren Zeichenfolge beendet. Der Rest der längeren Zeichenfolge wird an das Ergebnis angehängt. Beispiel:

BITAND (`0313'x, `FFF0'x) -> `0310'x

BITCHG()

BITCHG(Zeichenfolge,Bit)

Ändert den Status des angegebenen Bits im Argument "Zeichenfolge". Die Bits sind so numeriert, daß Bit 0 das niederwertigste Bit des am weitesten rechts liegenden Bytes der Zeichenfolge ist. Beispiel:

BITCHG (`0313'x,4) -> `0303'x

BITCLR()

BITCLR(Zeichenfolge,Bit)

Mit dieser Funktion wird das angegebene Bit im Argument "Zeichenfolge" gelöscht (d.h. auf Null gesetzt). Die Bits sind so numeriert, daß Bit 0 das niederwertigste Bit des am weitesten rechts liegenden Bytes der Zeichenfolge ist. Beispiel:

BITCLR (`0313'x,4) -> `0303'x

BITCOMP()

BITCOMP(Zeichenfolge1,Zeichenfolge2[,Füllzeichen])

Vergleicht die Argumente "Zeichenfolge1" und "Zeichenfolge2" bitweise, beginnend bei Bitnummer 0. Der zurückgegebene Wert ist die Bitnummer des ersten Bits, bei dem sich die Zeichenfolgen unterscheiden, oder -1, falls die Zeichenfolgen identisch sind. Beispiel:

BITCOMP (`7F'x, `FF'x) -> 7 /*Bit Nr. 7*/
BITCOMP (`FF'x, `FF'x) -> -1

BITOR()

BITOR(zeichenfolge1,Zeichenfolge2[,Füllzeichen])

Die Argumente "Zeichenfolge1" und "Zeichenfolge2" werden durch ein logisches ODER miteinander verknüpft, wobei das Ergebnis so lang ist wie die längere der beiden Operandenzeichenfolgen. Wird ein Füllzeichen angegeben, so wir die kürzere Zeichenfolge rechts damit aufgefüllt. Andernfalls wird die Operation am Ende der kürzeren Zeichenfolge beendet. Der Rest der längeren Zeichenfolge wird an das Ergebnis angehängt. Beispiel:

BITOR (`0313'x, `003F'x) -> `033F'x

BITSET()

BITSET(Zeichenfolge,Bit)

Setzt das angegeben Bit im Argument "Zeichenfolge" auf 1. Die Bit sind so numeriert, daß Bit 0 das niederwertigste Bit des am weitesten rechts liegenden Bytes der Zeichenfolge ist. Beispiel:

BITSET (`0313'x,2) -> `0317'x

BITTST()

BITTST(Zeichenfolge,Bit)

Der boolesche Rückgabewert bezeichnet den Status des angegebenen Bits im Argument "Zeichenfolge". Die Bits sind so numeriert, daß Bit 0 das niederwertigste Bit des am weitesten rechts liegenden Bytes der Zeichenfolge ist. Beispiel:

BITTST (`0313'x,4) -> 1

BITXOR()

BITXOR(Zeichenfolge1,Zeichenfolge2[,Füllzeichen])

Die Argumente "Zeichenfolge1" und "Zeichenfolge2" werden durch ein logisches Exklusiv-ODER miteinander verknüpft, wobei das Ergebnis so lang ist wie die längere der beiden Operandenzeichenfolgen. Wird ein Füllzeichen angegeben, so wird die kürzere Zeichenfolge rechts damit aufgefüllt. Andernfalls wird die Operation am Ende der kürzeren Zeichenfolge beendet, und der Rest der längeren Zeichenfolge wird an das Ergebnis angehängt. Beispiel:

BITXOR (`0313'x, `001F'x) -> `=30C'X

C2B()

C2B(Zeichenfolge)

Wandelt die Zeichenfolge aus Textzeichen in die entsprechende Zeichenfolge aus Binärziffern um (siehe auch CsX()). Beispiel:

SAY C2B (`abc') -> 011000010110001001100011

Hoch Zurück Weiter Kapitel