C#有this
和VB有ME
.什么是Lua等价物?
我试图在Roblox中引用脚本类的父级.
从Lua文档部分2.5.9开始,自引用通常是self
:
冒号语法用于定义方法,即具有隐式额外参数的函数
self
.因此,声明function t.a.b.c:f (params) body end是语法糖
t.a.b.c.f = function (self, params) body end
正如格雷格已经指出的那样,你要找的名字是self
.
但是,请注意Lua不是OOP语言,而是纯粹的程序或功能语言.它只是提供了实现OOP设计的所有低级机制.其中一个设计原则被表达为"提供机制,而不是政策".因此,无法保证您运行的环境甚至使用继承,或者您可以找到任何给定对象的父级.
查看Lua手册,Lua中的Programming以及与OOP功能相关的Wiki的部分是一个好主意:
Lua的手册,特别是部分2.5.8,2.5.9和2.8.
PiL第16章,链接到第一版的在线副本,该副本是在Lua 5.0时编写的.阅读在线副本,但请注意,当前版本的Lua与我们强烈建议购买第2版非常不同.)
关于OOP的Lua Wiki,特别是关于简单类的教程和文章.