Я проработал последние 6 часов, пытаясь решить эту проблему! и я coulnt получить в любом месте: sПрохождение lua table от C++ до .Lua script
Я хочу, чтобы иметь возможность создать таблицу Lua в C++ файл, а затем передать, что в файл Lua скрипт, который имеет следующую функцию Lua:
function MTable (t)
local n=#t
for i=1,n do
print(t[i])
end
end
я динамически создала одномерную матрицу с двумя строками:
lua_newtable(L);
lua_pushstring(L,"10.10.1.1");
lua_pushstring(L,"10.10.1.2");
lua_rawseti(L,-3,2);
lua_rawseti(L,-2,1);
так что теперь у меня есть стол поверх стека. Я проверил это, набрав это: if (lua_istable (L, lua_gettop (L))), который возвратил 1, что означает, что это таблица.
тогда я сделал это:
lua_getglobal(L, "MTable"); // push the lua function onto the stack
uint32_t result = lua_pcall(L, 1, 0, 0); //argument 1 is for the table
if (result) {
printf(stderr, "Failed to run script: %s\n", lua_tostring(L, -1));
exit(1);
}
так что я получил эту ошибку: Не удалось запустить скрипт: попытка вызова табличное значение
Пожалуйста, обратите внимание, что файл имеет несколько других функций, Я успешно звоню из C++.
Может кто-нибудь, пожалуйста, помогите мне решить эту ошибку? может ли это быть ошибкой от LUA? cz я правильно выполнил шаги ... я думаю!
Это было задано и отправлено в список рассылки Lua. – lhf