ACTION! eine Frage

Moderator: Rockford

Antworten
Erhard
Beiträge: 1239
Registriert: 04.11.2021 15:52
Has thanked: 148 times
Been thanked: 389 times
Kontaktdaten:

ACTION! eine Frage

Beitrag 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.
Jede Info, die zu Hause auf meinem Rechner liegt habe ich unterwegs nicht verfügbar.
Jede Info, die im Netz liegt finde ich nicht wieder, wenn ich sie benötige.

Benutzeravatar
24sumo
Beiträge: 248
Registriert: 17.08.2021 08:53
Has thanked: 119 times
Been thanked: 54 times
Kontaktdaten:

Re: ACTION! eine Frage

Beitrag 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);

Antworten

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 1 Gast