【发布时间】:2014-01-09 01:51:06
【问题描述】:
我使用的是 lua 5.1
如果我尝试将一个数除以零、将零数提高到负幂或以零为模,我希望 lua 计算失败并打印错误。
我所做的就是改变这样的计算定义
#define luai_numdiv(L,a,b) ((a)/(b))
这样的事情
inline lua_number luai_numdiv(lua_State *L, lua_Number a, lua_Number b){
if(b != cast_num(0))
return (a)/(b);
else
luaD_throw(L, LUA_ERRRUN);
}
这根本不起作用。我认为这与 luaD_Throw 是一种不正确的方式导致 lua 中的计算失败有关。
如何正确地使 lua 中的计算失败?
【问题讨论】:
-
你确定你使用的是 Lua 5.1 吗? 5.1 中的
luai_numdiv不接收L。它在 5.2 中。 -
我手动添加的。无论在哪里使用。