obj_set_methods

obj_set_methods setzt Methoden (Member-Funktionen) für das Objekt.

bool = obj_set_methods(obj, m)

Returnwert

bool ist TRUE (1), wenn die Funktion erfolgreich war und sonst FALSE (0).

Parameter

obj

obj ist ein mit obj_create erzeugtes Objekt.

m

m ist ein mit obj_create erzeugtes Objekt, das Funktionsnamen enthält (siehe Kommentar).

Kommentar

Bemerkung

Anwenderfunktionen sollten diese Funktion nicht direkt aufrufen, sondern die Funktion set_method_table verwenden.

Um ein Objekt um Funktionen (auch Member-Funktionen oder Methoden genannt) zu erweitern, muss ein Objekt erzeugt werden, dass die Namen der Methoden den UniScript-Funktionsnamen zuordnet. Beispiel:

obj = obj_create()
m = obj_create();
m.test = "my_test";
obj.set_methods(m);

Falls nun die Anweisung:

obj.test(1,2,3)

ausgeführt wird, versucht der UniScript-Interpreter die Funktion „my_test“ aufzurufen. Der Interpreter übergibt der Funktion „my_test“ zusätzlich das Objekt obj als ersten Parameter.

Die Funktion „my_test“ kann folgendermaßen geschrieben werden:

def my_test(ob, a, b, c)
{
    // do something with ob, a, b, c
    return 123;
}

id-1457530