Lua: falha na função global após o carregamento do arquivo
Estou tentando chamar uma função dentro de um arquivo lua chamado test2.lua Este é o conteúdo de test2.lua:
function abc(path)
t = {}
table.insert(t, "a")
return t
end
omo você pode ver, é necessária uma única entrada e retorna uma strin
Aqui está o meu código C. É bem simples. No entanto, minha chamada getglobal para chamar essa função não funciona ... lua_getglobal diz que não é uma função quando eu a testo ... Alguma razão para isso? O abc não deve ser uma função global retornável dentro do arquivo de origem? Por que, então, ele não encontra nada para esse global?
L = lua_open();
luaL_openlibs(L);
luaL_loadfile(L, "src/test2.lua");
lua_getglobal(L, "abc");
lua_pushstring(L, "coollll");
int error = 0;
if ((error = lua_pcall(L, 1, 1, 0)) == 0)
{
std::cout << "cool";
}
EDITAR
calling lua_getglobal está fazendo com que o meu programa quebre o controle, independentemente do uso de loadfile ou dofile ... alguma idéia do porqu