【发布时间】:2015-06-15 01:34:10
【问题描述】:
例如,如果我有类似的功能
foo = function(self) print ("Foo") end
要调用这个函数,我会说,foo:()
但是,如何从 C 中调用这种函数?
【问题讨论】:
例如,如果我有类似的功能
foo = function(self) print ("Foo") end
要调用这个函数,我会说,foo:()
但是,如何从 C 中调用这种函数?
【问题讨论】:
foo:() 不合法。
该函数需要位于表中,: 调用语法才能工作。
tab = {
foo = function(self)
print "Foo"
end
}
tab:foo()
重要的是要知道tab:foo() 只是tab.foo(tab) 的语法糖(只有tab 只被评估一次)。
所以要手动调用它,您只需自己传递对象作为第一个参数。
【讨论】: