Тема: Как вызвать у таблицы - "строковую переменную" ?
Чтобы вызвать метод у таблицы, к примеру метод Size() у таблицы CreateDataSource - нужно сделать так:
//index - номер таблицы в стеке Lua
lua_getfield(L, index, "Size"); //"Извлекаем" из "таблицы" функцию отвечающую за возвращения размера этой таблицы.
lua_pushvalue(L, index); //Помещаем копию обьекта таблицы на вершину стека.
int status_lua_pcall = lua_pcall(L, 1, 1, 0); //Вызываем функцию Size
А как сделать тоже самое, но не с методом таблицы, а со строковым полем ? К примеру, как в getQuoteLevel2: [url]https://luaq.ru/getQuoteLevel2.html[/url]
У таблицы есть поле bid_count/bid_count, но такой же код не прокатывает:
lua_getfield(L, index, "bid_count"); //"Извлекаем" из "таблицы" функцию отвечающую за возвращения размера этой таблицы.
lua_pushvalue(L, index); //Помещаем копию обьекта таблицы на вершину стека.
int status_lua_pcall = lua_pcall(L, 1, 1, 0); //Вызываем функцию Size
Ошибка: attempt to call a string value