Function 在LUA中-已找到类型为“的变量”;功能“;如何将参数传递给它
我已经成功地在_G中的一个表中找到了函数,对于那些不需要参数的函数,我使用如下语法调用它们:Function 在LUA中-已找到类型为“的变量”;功能“;如何将参数传递给它,function,lua,globals,Function,Lua,Globals,我已经成功地在_G中的一个表中找到了函数,对于那些不需要参数的函数,我使用如下语法调用它们: a = _G[t] [f] () 但有些函数需要参数,我尝试使用 a = _G[t] [f] (x) 但是来自LUA的错误消息似乎表明被调用函数没有收到“x” 因此,我的问题是,如果函数定义为 function t:f (arg) 当我有t和f的文本字符串时,我如何给它一个要处理的参数 感谢定义如下的函数 函数t:f(arg) 具有隐式的第一个参数self,因此定义实际上与: 函数t.f(se
a = _G[t] [f] ()
但有些函数需要参数,我尝试使用
a = _G[t] [f] (x)
但是来自LUA的错误消息似乎表明被调用函数没有收到“x”
因此,我的问题是,如果函数定义为
function t:f (arg)
当我有t和f的文本字符串时,我如何给它一个要处理的参数
感谢定义如下的函数
函数t:f(arg)
具有隐式的第一个参数self
,因此定义实际上与:
函数t.f(self,arg)
因此,当您调用a=_G[“t”][“f”](x)
时,您将以self的身份传入x
,并且arg
设置为nil。要正确地称呼它,您需要执行以下操作
\u G[“t”][“f”](\u G[“t”],arg);
一些示例代码,以便您可以看到这一点
t={}
函数t:f(arg)
打印(self,arg)
结束
_G[“t”[“f”](“测试”)-“测试无”
_G[“t”][“f”](_G[“t”],“测试”)-“表:00e09750测试”
太好了-谢谢-就这样!!!