我从 actionscript 调用 lua 中的函数
callstack : Array = luaAlchemyInstance.doString("luafunction");
我的函数应该返回一些值
function luafunction()
return true, 125
end
当我查看 as3 中函数返回的调用堆栈数组时,我只收到成功/失败部分。数组长度为 1,true,并且不包含我的返回值。
知道出了什么问题吗?干杯
我从 actionscript 调用 lua 中的函数
callstack : Array = luaAlchemyInstance.doString("luafunction");
我的函数应该返回一些值
function luafunction()
return true, 125
end
当我查看 as3 中函数返回的调用堆栈数组时,我只收到成功/失败部分。数组长度为 1,true,并且不包含我的返回值。
知道出了什么问题吗?干杯
我不知道 lua-alchemy,但如果doString()
遵循与标准 Lua 相同的语义,调用函数的正确方法应该是:
callstack : Array = luaAlchemyInstance.doString("return luafunction()");
我只见过 Actionscript 中一次返回一个变量类型(数字、字符串、布尔值等)的函数。
看起来您正试图同时返回一个布尔值和一个 Number/int/uint 值。
您可以尝试将两者都作为对象值返回,如下所示:
function luafunction():Object
{
var obj:Object = new Object();
obj.myBoolean = true;
obj.myNumber = 125;
return obj;
}
然后您可以通过以下方式检索您的值:
trace(obj.myBoolean, obj.myNumber);