http://lua-users.org/wiki/CppLuaDataPassing有这个代码从 C++ 创建一个 Lua 表:
// set first element "1" to value 45
lua_pushnumber( state, 1 );
lua_pushnumber( state, 45 );
lua_rawset( state, -3 );
// set the number of elements (index to the last array element)
lua_pushliteral( state, "n" );
lua_pushnumber( state, 1 );
lua_rawset( state, -3 );
根据该示例,最后一个块似乎暗示 Lua 表具有一些特殊含义的键“n”,它存储最后一个数组元素的索引。
但我在Lua Manual中找不到任何参考。
我的猜测是对还是错?
如果它是正确的,有人可以给我一个很好的参考来解释这个“n”键吗?
如果错了,示例中第二个代码块的含义是什么?
如果它是正确的,是在 C++ 中为 Lua 读取创建一个有效表所需的最后一个索引分配(假设 Lua 代码不会修改表)