int LuaThing::getAliases(lua_State *L) { int n = lua_gettop(L); if (1 != n) { return luaL_error(L, "takes no arguments"); } Thing *t = checkThing(L, -1); if (0 == t) { return luaL_error(L, "not a Thing!"); } LuaArray luaAliases; vector<string> aliases = t->getAliases(); for (vector<string>::const_iterator i = aliases.begin(); i != aliases.end(); i++) { LuaValue v; v.type = LUA_TYPE_STRING; v.value = *i; luaAliases.insert(luaAliases.end(), v); } LuaState::pushArray(L, luaAliases); return 1; }