lua-users home
lua-l archive

Re[2]: Using numbers as float

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


hello,
we use floats in Lua, but there is a problem, which, probably, is
because of this change (we still use Lua 5.02). When iterating via a
table, which indices are numbers, runtime error occured:
"invalid key for 'next'"
Therefore we iterate via Lua tables in the following way (we presume
that table to iterate is on the top of the stack):
// standard cycle
 lua_pushnil (state);
 for ( ; lua_next(state,-2); )
 lua_pop (state,1);
 
// modified cycle
 lua_pushnil (state);
 for ( ; lua_next(state,-2); ) {
 // start of the magic change
 if (lua_isnumber(state,-2)) {
 lua_Number next = lua_tonumber(state,-2);
 lua_pop (state,2);
 lua_pushnumber (state,next);
 continue;
 }
 // end of the magic change
 lua_pop (state,1);
 }
-- 
Best regards,
 Dmitriy mailto:iassenev@gsc-game.kiev.ua

AltStyle によって変換されたページ (->オリジナル) /