c # a J'essaie de faire référence au parent de la classe de script à Roblox. P> ceci code> et vb a
moi code>. Quel est l'équivalent Lua? P>
4 Réponses :
du Lua Documentation Section 2.5.9 , le Auto-référence est généralement La syntaxe du côlon est utilisée pour définir des méthodes, c'est-à-dire que
avoir un paramètre supplémentaire implicite auto code>:
auto code>. Ainsi, la déclaration p>
t.a.b.c.f = function (self, params) body end
comme Greg a déjà signalé , le nom que vous recherchez est Cependant, soyez conscient que Lua n'est pas une langue de l'OOP qu'il ne s'agit d'une langue purement procédurale ou fonctionnelle. Il fournit simplement tous les mécanismes de faible niveau pour mettre en œuvre une conception de l'OOP. L'un des principes de conception a été exprimé sur "Fournir un mécanisme et non". En raison de cela, il n'ya aucun moyen de garantir que l'environnement dans lequel vous utilisez même l'héritage, ou que vous puissiez trouver un parent pour un objet donné. P>
Ce serait une bonne idée d'examiner les sections du manuel Lua, la programmation de Lua et le wiki qui concernent les fonctionnalités de l'OPO: P>
auto code>. p>
à Lua, vous voudrez la valeur "Self". Cependant, vous utilisez ROBLOX, qui est de la boite de sable. Chaque script est exécuté dans son propre thread et pour référencer le script, vous devez utiliser "script", i.e. script.parent p>
Pouvez-vous ajouter un exemple? Je suis sous l'impression "script" équivaut à "soi" basé sur cette réponse; qui peut ou peut ne pas être correct.
local Table = {} Table.Var = "Testing" function Table.Test(self) print(self.Var) end
J'ai changé "Lua" à Lua pour vous. Lua est un nom propre, le nom de la lune de la Terre, en portugais. Ce n'est pas un acronyme.