摘要: 1 table实现介绍 脚本table中的元素在c中是分两个地方存放的,即数组与hash表。table中元素的位置也不是一直固定的,它会根据table被修改的情况动态改变。下面分两种情况说一下table的特点,我们首先要知道在lua中,索引值可以为负数也可以为正数,当为负数的话,top为-1,当为正 阅读全文
posted @ 2017-05-27 19:17 sysnap 阅读(608) 评论(0) 推荐(0)
摘要: from http://www.jellythink.com/archives/580 阅读全文
posted @ 2017-05-27 17:47 sysnap 阅读(286) 评论(0) 推荐(0)
摘要: 1 upvalue概念 upvalue:嵌套函数的外部函数的局部变量 function func(a) <== 这个函数返回值是一个函数 return function () a = a + 1 <== 这里可以访问外部函数func的局部变量a,这个变量a就是upvalue return a end 阅读全文
posted @ 2017-05-27 17:12 sysnap 阅读(756) 评论(0) 推荐(0)
摘要: 1 背景 lua的值一般都是保存在栈里面,调用函数完毕值在栈会被清掉,从而被GC回收。但有时候C函数需要在函数体的作用域之外保存某些Lua数据,这些数据不能存放在栈里面,有没有全局变量之类的可以存放。答案是肯定的,Lua就提供了一个独立的被称为registry的表,但是Lua代码本身不能访问它 2  阅读全文
posted @ 2017-05-27 10:55 sysnap 阅读(2041) 评论(0) 推荐(0)