Herunterladen Inhalt Inhalt Diese Seite drucken

Microtronics myDatalogEASY IoT Benutzerhandbuch Seite 249

Inhaltsverzeichnis

Werbung

Wenn bei einem Funktionsaufruf ein Platzhalter anstelle eines gültigen Funktionsparameters angegeben
wird, wird der Standardwert übernommen. Der Platzhalter ist das Unterstrichzeichen ("_"). Der
Argumentplatzhalter ist nur für Parameter mit einem Standardwert gültig.
Die rechten Argumentplatzhalter können von der Argumentenliste entfernt werden.
Zum Beispiel, wenn die Funktion "increment" wie folgt definiert ist:
increment(&value, incr=1)
{
value += incr
}
sind die folgenden Funktionsaufrufe alle gleich:
increment(a)
increment(a, _)
increment(a, 1)
Standardwerte für Argumente, die als Referenz übergeben werden, sind hilfreich um diese Parameter
optional zu machen. Zum Beispiel, wenn die Funktion "divmod" geschrieben wurde, um sowohl den
Quotienten als auch den Rest als Parameter zu übergeben.
divmod(a, b, &quotient=0, &remainder=0)
{
quotient = a / b
remainder = a % b
}
Mit der vorangegangenen Definition der Funktion "divmod" sind die folgenden Funktionsaufrufe alle gültig:
new p, q
divmod(10, 3, p, q)
divmod(10, 3, p, _)
divmod(10, 3, _, q)
divmod(10, 3, p)
divmod 10, 3, p, q
Das nächste Beispiel addiert die Werte von einem Array zu einem anderen. Wenn nur ein Parameter
angegeben wird, dann werden die Werte des Arrays um 1 erhöht:
addvector(a[], const b[] = {1, 1, 1}, size = 3)
{
for (new i = 0; i < size; i++)
a[i] += b[i]
}
13.5 Unterschiede zu C
Pawn fehlt der Eingabe-Mechanismus von C. Pawn ist eine "integer-only" Variante von C. Es gibt
l
keine Strukturen oder Unions. Floating Point-Unterstützung muss mit benutzerdefinierten Operatoren
und der Hilfe von nativen Funktionen implementiert werden.
Rev. 01
Kapitel 13 Device Logic (Pawn)
249

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis