Erweiterte Funktionen in o++oPS

1 Variablen

Um Daten im Hintergrund halten zu können, kann man in o++oPS Variablen verwenden.
Die Syntax zum Speichern von Werten ist folgende:
$NAME := AUSDRUCK
Dabei ist NAME der Name der Variablen und AUSDRUCK ein beliebiger Ausdruck.
Beispiel:
$C := 1 + 2, 3
Es besteht auch die Möglichkeit das aktuelle Tabment abzuspeichern.
Die Syntax ist =: $NAME
Beispiel:
1, 2
=: $C
Zugriff auf die Variablen hat man in Ausdrücken durch den Variablennamen, der aus Großbuchstaben besteht, mit vorangestelltem Dollarzeichen.
Beispiel:
ext B1:= $C + 5
$C := $C + 1

Globale Variablen

Wie man später sieht, haben die bisherigen Variablen nur Gültigkeit innerhalb eines Bereiches. Sollen Variablen überall und auch in nachgeladenen Programmen sichtbar und veränderbar sein, so kann man globale Variablen verwenden. Globale Variablen sind durch zwei füherende Dollarzeichen gekennzeichnet.

2 Funktionen

Die Syntax zur Definition von Funktionen ist:
function NAME ($P1, $P2, ... $Pn) BLOCK
Die Parameter sind Variablen P1 bis Pn. BLOCK ist entweder ein einzelnes o++oPS-Kommando oder ein o++oPS-Programm, das zwischen begin und end steht. Beispiel:
function ADD0 ($C, $D) $C + $D

function FE ($C) begin
$C
ext $C + 23
end

Aufrufen kann man die erste Funktion beispielsweise wie folgt:
$X:=1,2
aus ADD0($X,8)

Es ist möglich auf außerhalb der Funktion definierte Variablen zuzugreifen. Änderungen an diesen Variablen und neu definierte Variablen werden nach Ausführung der Funktion aber wieder vergessen.

3 include

Mit include ist es möglich Programmcode aus anderen Dateien nachzuladen.
Die Syntax ist:
include AUSDRUCK
Der Ausdruck muss vom Typ TEXT sein und ein Dateiname sein.
Beispiel:
include "functions.otto"
Das eingefügte Programm hat Zugriff auf die außerhalb definierten Variablen. Änderungen an diesen Variablen werden aber nicht an das aufrufende Programm weitergegeben. Nur die definierten Funktionen werden an das aufrufende Programm übergeben. Auch das aktuelle Tabment wird nicht verändert. Außnahme bilden die globalen Variablen.