分与栈操作有关,因此深入理解Lua堆栈是学习Lua语言的重点和难点。通过数据结构的知识,我们可以知道栈有出栈和入栈两种基本操作,Lua提供的CAPI中入栈可以通过push系列的方法来实现,如下图所示:
而出栈或者说查询的方法则可以通过to系列的方法来实现,如下图:
f这两部分是学习Lua语言一定要去了解的内容,因为以后如果需要我们将Lua整合到其它项目中这些内容,这些东西可以说是原理性、核心性的东西。好了,下面我们利用这里的API对一个示例代码进行改造,这里加入了对栈中元素类型的判断:
12345678910111213141516171819202122
i
cludeiostreamexter