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