Я использую Lua для реализации некоторых функций, результаты помещаются в таблицу s и возвращаются обратно в код C ++. Например, в конце Lua я возвращаю эти таблицы в C ++
return names, ages, courses
Теперь в C ++ мне нужно читать элементы в возвращаемых таблицах. Как я могу узнать имя таблицы, чтобы знать, какие элементы нужно получить? Другими словами, следующие коды sudo иллюстрируют то, что я хочу делать:
if table_name == "names": //some commands can realize this?
lua_getfield(L, -1, "Tom");
the_name = lua_tostring(L, -1);
cout << the_name << endl;
Lua_pop(L, 1);
elif table_name == "ages": //similar to last comment...
lua_getfield(L, -1, "girls");
the_age = lua_tostring(L, -1);
....... //some operations
У кого-нибудь есть идеи? Кстати, я использую Lua5.3.1 на win7