【问题标题】:How can i call lua function that takes self as a parameter from C?我如何调用将self作为C参数的lua函数?
【发布时间】:2015-06-15 01:34:10
【问题描述】:

例如,如果我有类似的功能

foo = function(self) print ("Foo") end

要调用这个函数,我会说,foo:()

但是,如何从 C 中调用这种函数?

【问题讨论】:

    标签: c function lua colon


    【解决方案1】:

    foo:() 不合法。

    该函数需要位于表中,: 调用语法才能工作。

    tab = {
        foo = function(self)
            print "Foo"
        end
    }
    tab:foo()
    

    重要的是要知道tab:foo() 只是tab.foo(tab) 的语法糖(只有tab 只被评估一次)。

    所以要手动调用它,您只需自己传递对象作为第一个参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-25
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 2015-07-19
      • 2015-07-14
      • 1970-01-01
      相关资源
      最近更新 更多