[英]What does a method look like in a lua table
标题说明了大部分内容,但以防万一它不完全有意义我的意思是表中的一段数据如下所示:
local myTable = {"banana","apple"}
-- or
local myTable = {["banana"] = 1,["apple"]=2,}
-- functions look like this:
local myTable = {
function banana(args) print(args) end,
-- or
apple = function(args) print(args) end
}
但我不确定方法是什么样的……当然我可以把它们放在桌子外面,但我更希望它在桌子里……但是当我看普通的“字典/图书馆”时,我并没有真正看到任何看起来像我需要的东西
lua 中的方法可能是表中的 function。
t={method=function(a) return a end}
你可以这样称呼这个 function:
t.method(2)--returns 2
但是,如果您使用冒号调用此 function :
它将表t
作为第一个参数传递:
t:method()--returns 't'
t:method(2)--still returns 't'
实际上相当于这样调用它:
t.method(t)--returns t
如果要用作“方法”,则将第一个参数命名为self
也是一种习惯。 所以:
t={method=function(self, a) return a end}
t.method()--returns nil
t.method(1)--returns nil
t.method(1, 2)--returns 2
t:method()--returns nil
t:method(1)--returns 1
t:method(1, 2)--returns 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.