self 是什么,它在 lua 中有什么作用?
What is self and what does it do in lua?
我是 lua 的一名新程序员,有很多事情我可能仍然不知道。我用谷歌搜索了 lua 中的 self 是什么,但我还是不明白。如果有人能给我最简单的解释 lua 中“self”的作用,那将非常有帮助。
self
只是一个变量名。如果您使用特殊语法,它通常由 Lua 自动定义。
function tbl:func(a) end
是
的语法糖
function tbl.func(self, a) end
这意味着 Lua 将自动创建一个名为 self
的第一个参数。
这与一个特殊的函数调用一起使用:
tbl:func(a)
这是
的语法糖
tbl.func(tbl, a)
这样self
通常指的是table。当您在 Lua 中执行 OOP 并且需要从您的方法内部引用对象时,这很有用。
类似于 C++ 中的 this
。
我是 lua 的一名新程序员,有很多事情我可能仍然不知道。我用谷歌搜索了 lua 中的 self 是什么,但我还是不明白。如果有人能给我最简单的解释 lua 中“self”的作用,那将非常有帮助。
self
只是一个变量名。如果您使用特殊语法,它通常由 Lua 自动定义。
function tbl:func(a) end
是
的语法糖function tbl.func(self, a) end
这意味着 Lua 将自动创建一个名为 self
的第一个参数。
这与一个特殊的函数调用一起使用:
tbl:func(a)
这是
的语法糖tbl.func(tbl, a)
这样self
通常指的是table。当您在 Lua 中执行 OOP 并且需要从您的方法内部引用对象时,这很有用。
类似于 C++ 中的 this
。