-1|___|4
-2|___|3
-3|___|2
-4|___|1
/*堆栈结构,从栈底看,从1开始(右边的数字);从栈顶看以-1开始(左边的数字)*/
/*栈: 基本操作
栈中可存放任意类型的数据,lua_push*函数将指定类型的元素入栈,lua_is*判断栈顶元素的类型,lua_to*获取栈顶元素,lua_pop将栈顶元素退栈,lua_settop指定新的栈顶位置*/
/*栈: 读取table中的项
1. lua_gettable("table_name")从lua中将table入栈
2. lua_istable(L, -1)判断栈顶元素的类型是否为table
3. table是以key-value对的方式组织的,通过lua_push*将key入栈
4. lua_gettable(L, -2)将table中key对应的value入栈,并将key退栈
5. lua_is*()判断value是否是期望的类型
6. lua_to*()读取栈顶元素
7. lua_pops(L, 1)将value退栈
*/
/*栈:加载并运行lua脚本
1. lua_loadfile(L, "filename")加载脚本并编译之为一个chunk,将其入栈
2. lua_pcall(L, 0, 0, 0)运行chunk
*/