Seite 1 von 1

ACTION! eine Frage

Verfasst: 14.01.2026 16:16
von Erhard
Hallo,

da ich durch jahrelange Nichtbeschäftigung mein Know-How dafür großteils verloren habe muß ich hier aus gegebenem Anlaß einmal etwas nachfragen.

Normalerweise definiert man eine Prozedur wie zum Beispiel

PROC PRINT(BYTE X)

Ich bin nun auf eine damals von mir erstellte Prozedur gestoßen, die mit

PROC PRINT=(BYTE ARRAY X)

erstellt wurde.

Es geht hier um das Gleichheitszeichen. Das hat eine besondere Bewandnis, aber ich weiß nicht mir welche.

Und nein, es ist nicht

PROC PRINT=*(BYTE ARRAY X)

gemeint.

Re: ACTION! eine Frage

Verfasst: 14.01.2026 20:20
von 24sumo
Das meint die KI dazu:

Was bedeutet das = zwischen Print und der Parameterübergabe?

In der Programmiersprache Action! hat das Gleichheitszeichen (=) in einer Prozedur-Definition eine ganz spezifische Bedeutung, die sich von modernen Sprachen wie C oder Java unterscheidet.

Es dient dazu, den Beginn der Parameterliste zu markieren.

Die Bedeutung des =
In Action! trennt das = den Namen der Prozedur von ihren Eingabevariablen. Man könnte es fast wie ein "besteht aus" oder "benötigt" lesen.

Syntax: PROC <Name> = ( <Parameter> )

Es sagt dem Compiler: "Die Prozedur mit diesem Namen verwendet die folgenden Variablen im Speicher."

Vergleich mit anderen Sprachen

Um es verständlicher zu machen, hier der Vergleich, wie man denselben Kopf definieren würde:
Sprache Syntax
Action!: PROC Print = (BYTE ARRAY x)
C / C++: void Print(unsigned char *x)
Pascal: procedure Print(x: array of byte);