2014年7月30日

lua元表

摘要: lua元表本文简译自一篇老外的博客,写得不错可惜我翻译的太烂,简译如下。(key--value常见翻译为“键值对”,我翻译为索引、值)在这篇教程里我会介绍Lua中一个重要的概念: metatable(元表),掌握元表可以让你更有效的使用Lua。 每一个tabel都可以附加元表, 元表是带有索引集合的... 阅读全文

posted @ 2014-07-30 18:06 &大飞 阅读(141) 评论(1) 推荐(0)

理解LUA中的多重继承

摘要: 有人在问如何实现Lua中的多重继承。真正用到多重继承的时候,我会想想是不是非得用多重继承,总觉得多重继承有点“重”。多重继承例子12345678910111213141516171819202122232425262728293031323334353637383940414243444546474... 阅读全文

posted @ 2014-07-30 17:55 &大飞 阅读(1136) 评论(0) 推荐(0)

在 Lua 中管理 C 对象的生存期

摘要: 在给Lua写 C 扩展库的时候,经常需要从 C 中传对象指针到 lua 状态机中。如果只是传递一个指针而不关心其生命期的话,用 lightuserdata 即可。但有时候我们需要让 lua 来负责 C 对象的生命期管理,下面提供的一段代码展现一个思路:用 lua 本身的 gc 机制来管理对象,并允许... 阅读全文

posted @ 2014-07-30 14:20 &大飞 阅读(476) 评论(0) 推荐(0)

lua_settable

摘要: lua_settable(lua_State* L, int index)就是把表在lua堆栈中的值弹出来,index 是table 在堆栈中的位置,假如 table 在 -3, 则key 应该是 -2,value 是 -1相当于 table[key] = value. 阅读全文

posted @ 2014-07-30 14:17 &大飞 阅读(350) 评论(0) 推荐(0)

LUA的堆栈问题

摘要: 学习LUA也有一些时日了,个人认为对于LUA中的栈的理解很重要,嗯,写个小文章(真的很小)如果你看了LUA的文档,那么就应该很清楚LUA与C交互数据时都是用到LUA中所谓的stack。那么当我调用lua_open函数之后栈是什么样的呢?空的(luaopen_base等会往栈上加进一些东西)。那么至于... 阅读全文

posted @ 2014-07-30 13:57 &大飞 阅读(1893) 评论(2) 推荐(0)

导航