Unter der Voraussetzung das du das Objekt wie im beispiel in C++ erzeugt hast und es in Lua 'nur' benutzt
was meinst du eigentlich mit 'nur'? was kann man noch mit einem Objekt machen außer es benutzen?
[/quote]
Naja man kann es erstellen. Klingt trivial, ist es aber nicht wenn man ein C++ Objekt in Lua erstellen möchte.
Wie das geht hatte mein letzter Link gezeigt.
|
Quellcode
|
1
|
test:seti(3)
|
kann nicht funktionieren. Wenn man C++ Funktionen in Lua registriert müssen die eine vorgegebenen Signatur haben. Um die Übergabeparameter in C++ auslesen zukönnen und rückgabewerte zu schreiben, muss man die endsprechenden Luafunktionen verwenden.
Aus diesem Grund gab es diese Wrapperklasse.
Also für jede Klasse in C++ muss es auch eine Wrapperklasse geben.
Das Gurke's Idee ist eigentlich sehr gut. Du könntest eine Basisklasse schreiben welche alle Attribute in eine Map speicher. Zum Lesen und Schrieben könntest du eine set und eine get Funktion schreiben.
Lua wird gerne verwendet weil is doch noch relativ simpel zu implementieren ist und vor allem weil Lua Skripte sehr schnell ausgeführt werden.