【问题标题】:Lua return value from functionLua从函数返回值
【发布时间】:2012-08-02 19:19:35
【问题描述】:

我有一个问题,当我这样做时

luaL_loadstring(luaState, "return 3, 4, 5");

我在堆栈上有 3 个值,但是当我尝试调用函数时

luaL_loadstring(luaState, vhs:get_sender_resolutions());

get_sender_resolutions = {function (self)
    local rresc = self.iface:GetSenderResolutionCount()
    local resolutions = {}
    for i=0,rresc-1 do
       local res = self.iface:GetSenderResolution(i)
       printdump (res, "#"..i.." = ")
       table.insert(resolutions, res)
    end
return 6, 7, 8

我在堆栈上只有 1 个值 - 函数?我错过了什么吗??

【问题讨论】:

  • 您用 3 种(三种!)语言标记了您的问题,但代码的语法与其中两种不匹配。我不确定您的问题是否与所有 3 种语言有关。您需要重新陈述您的问题或解释为什么它被标记为所有 3 种语言?
  • @YePhIcK 他的问题中提到的luaL_loadstring 和堆栈与Lua 和C(或可能的C++)之间的绑定有关。关注 Lua 的人具有回答这个问题的专业知识。搜索的人可以在过滤包含这些标签的帖子时找到用途。
  • 上面get_sender_resolutions的代码不完整;一方面,有一个未关闭的{;该功能也没有end。向我们展示真正的代码。

标签: c lua


【解决方案1】:

luaL_loadstring 想加载一个字符串;您的第二次调用似乎是使用表参数(或函数,尚不清楚)调用 luaL_loadstring

【讨论】:

    猜你喜欢
    • 2012-09-30
    • 2013-09-02
    • 1970-01-01
    • 2011-10-05
    • 2016-09-27
    • 2017-07-03
    • 2016-11-19
    • 1970-01-01
    • 2012-01-26
    相关资源
    最近更新 更多