
Lua设计与实现
文章平均质量分 76
这瓜不包熟
这个作者很懒,什么都没留下…
展开
-
Lua设计与实现:Table
Table的数据结构: Table查找操作分析: 首先是Lua查找,如果Key是Int数值,将会在数组中进行查找,如果没有找到则到Hash表中去进行查找;其他情况直接根据Key的散列值到Hash表中进行查找 Table插入操作分析: 如果数值Key大于数组容量大小,则到Hash表中进行插入 , 否则在数组中插入; 如果非数值Key则到...原创 2021-07-27 17:53:45 · 314 阅读 · 0 评论 -
[Lua设计与实现]2:字符串
内化概念:内化字符串,实际上每个字符串变量存放的并不是一份字符串的数据副本,而是对这份字符串的引用。 Lua中字符串是被内化掉的。 这就导致了两个问题:字符串是以什么方式进行存储的? 这份字符串是否已经被存储? 第一个问题: Lua中 lua_State->strt 作为一个全局表来(数据格式是散列桶)进行存储字符串,内部有LuaS_resize来进行重新散列(翻倍扩容或者进行缩减),防止数据过多导致的线性查找问题 第二个问题: 在lstring.c 中 LuaS_newlstr...原创 2020-08-18 14:19:24 · 215 阅读 · 0 评论 -
[Lua设计与实现]一:Lua中的数据类型
原创 2020-08-17 21:09:44 · 165 阅读 · 0 评论