понедельник, 19 июля 2010 г.

Получение Lua таблицы в С++ (проблема с lua_next)

Боролся сегодня со злостным багом. Как только пытался получить таблицу из Lua, как тут же слетало приложение. Как оказалось, после прочтения документации, причина была довольно проста - ключи в таблице были типа number и к ним в случае считывания с таблицы нельзя применять функцию lua_tostring(), только lua_tonumber().
Цитата:
While traversing a table, do not call lua_tolstring directly on a key, unless you know that the key is actually a string. Recall that lua_tolstring changes the value at the given index; this confuses the next call to lua_next.

Комментариев нет:

Отправить комментарий