User manual

Mit der vorangegangenen Definition der Funktion "divmod" sind die folgenden Funktionsaufrufe
alle 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]
}
4.5 Beispiele
t.b.d.
4.6 Unterschiede zu C
l Pawn fehlt der Eingabe-Mechanismus von C. Pawn ist eine "integer-only" Variante von C. Es
gibt keine Strukturen oder Unions. Floating Point-Unterstützung muss mit benutzerdefinierten
Operatoren und der Hilfe von nativen Funktionen implementiert werden.
l Die Syntax für Gleitkommawerte ist strenger als die in C. Werte wie ".5" und "6." sind in C
akzeptabel, aber im Pawn muss man "0.5" und "6.0" schreiben. In C ist der Dezimalpunkt
optional, wenn ein Exponent enthalten ist, so kann man in C "2E8" schreiben; Pawn
akzeptiert den Großbuchstaben "E" nicht. Verwenden Sie den Kleinbuchstaben "e". Es
erfordert das Komma: z.B. "2.0e8" (siehe "Numerische Konstanten" auf Seite 91).
l Pawn unterstzt keine "Zeiger". Für die Übergabe von Funktionsparametern als Referenz
bietet Pawn ein "Referenz"-Argument (siehe "Funktionsargumente ("call-by-value" versus
"call-by-reference")" auf Seite 109). Das "Platzhalter"-Argument ersetzt einige Verwendungen
des NULL-Zeigers (siehe "Standardwerte von Funktionsargumenten" auf Seite 111).
l Zahlen nnen mit Hexadezimal-, Dezimal-, oder Binärbasis angegeben werden. Die Oktale
Basis wird nicht unterstzt (siehe "Numerische Konstanten" auf Seite 91). Hexadezimale
Zahlen müssen mit "0x" ("x" in Kleinbuchstaben)beginnen. Das Präfix “0X” ist ungültig.
112 Rev. 01