под регистрируемые функции или не?
Нет, нужно создать таблицу перед вызовом самому
То есть делаешь что-то типа такого: const luaL_Reg lib[] = { .... {NULL, NULL} }; .... lua_newtable(L); luaL_setfuncs(L, 0, lib); ....
Я тут просто наоборот пытаюсь уйти от этой функции - в PB слишком много возни с классическими массивами, переконвертацией строк в UTF-8 и закрытием потом всех адресов.
Я обычно делаю что-то вроде lua_newtable(L); lua_pushstring(L, "funcname"); lua_pushcfunction(L, myfunc); lua_rawset(L, -3); И таким макаром прописываю произвольную вложенность экспортируемой таблички, и заполняю её чем хочу собсно. Регистрацию не произвожу, просто возвращаю её, не больше. Меньше мусора.
Я пытаюсь делать так: luaL_newmetatable(*l, #ObjectType) ; Registering the main object metatable ForEach MetaMethods() lua_pushcfunction(*l, MetaMethods()) lua_setfield(*l, -2, MapKey(MetaMethods())) Next
Обсуждают сегодня