wie finden Sie heraus, alle Eigenschaften eines Objekts in lua?
Gibt es eine Möglichkeit immer alle nicht-null-Parameter /Eigenschaften
von einem Objekt? Ich fand diese: getmetadata(self.xxxx)
und ich bin auf der Suche nach etwas wie: getalldata(self).
Derzeit arbeite ich an einem Projekt, wo lua beteiligt ist. Leider gibt es keine komplette Referenz und ich muss mit vorkompilierten Sachen.
Ich hoffe, Sie sind in der Lage zu verstehen, was ich versuche zu sagen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gehe ich davon aus, dass, wenn Sie beziehen sich auf "Objekte", Sie sind mit der Bedeutung "lua-Tabellen mit einer
__index
metatable verweisen auf andere Tabellen". Wenn das nicht der Fall, diese Antwort wird dir nicht helfen.Wenn Ihr Objekt Struktur ist mit Tischen (das ist, alle
__indexes
sind Tabellen), dann kannst du "analysieren Sie bis" zu erhalten, der alle Eigenschaften und ererbten Eigenschaften.Wenn Sie keine Funktion als
__index
dann, was Sie Fragen, ist unmöglich; es gibt keinen Weg, um die "Liste der Werte, für die eine Funktion gibt einen nicht-null-Wert".Im ersten Fall würde der code wie folgt Aussehen:
Aber denken Sie daran, wenn Ihre
__index
es ist eine Funktion, es gibt keinen Weg, um alle Eigenschaften; zumindest nicht von Lua.Ich glaube, Objekte sind nur eine Tabelle, so sollten Sie in der Lage sein, Durchlaufen Sie die Eigenschaften wie jede andere Tabelle:
pairs
stattipairs
.Schrieb ich meine eigenen printObject code.. hier ist es
Dies ist der umgekehrte Ansatz dann, bevor die post verwendet.
Gehen Sie durch alle Schlüssel-Wert-Paare in die Tabelle ein. Wenn der Wert von index ist eine Tabelle, gehen durch diese Tabelle.
Diese Lösung wird auch nicht die nach oben metatables wie der andere post wurde