.. highlightlang:: us .. index:: obj_set_methods .. _obj_set_methods: obj_set_methods =============== .. us.tag obj_set_methods GERMAN New410 obj :ref:`obj_set_methods` setzt Methoden (Member-Funktionen) für das Objekt. .. function:: bool = obj_set_methods(obj, m) .. us.return **Returnwert** *bool* ist TRUE (1), wenn die Funktion erfolgreich war und sonst FALSE (0). .. us.params **Parameter** .. uparam:: obj *obj* ist ein mit :ref:`obj_create` erzeugtes Objekt. .. uparam:: m *m* ist ein mit :ref:`obj_create` erzeugtes Objekt, das Funktionsnamen enthält (siehe Kommentar). .. us.comment **Kommentar** .. note:: Anwenderfunktionen sollten diese Funktion nicht direkt aufrufen, sondern die Funktion :ref:`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: .. code-block:: us :emphasize-lines: 2,3 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; } .. seealso:: :ref:`uberblick-uniscript-objekte`, :ref:`set_method_table`, :ref:`obj_methods`, :ref:`obj_set_parent`, :ref:`obj_parent` :sub:`id-1457530`