Archive for 五月 2013

学习Lua源代码的一些经验和参考资料推荐

断断续续在博客更新Lua5.1.4分析的一些文章,当前写的还是很杂乱。前面大体分析了一些数据结构(通用数据结构,表),一些流程的处理(赋值,逻辑跳转),还有函数相关的代码。后面还有不少没有分析到,目测还有表相关的操作,GC,Lua调试器等等,内容还是不少。

今天暂时打住,记录一下我看Lua代码这段历程来用到的一些知识点,经验和参考资料。

起初决定看Lua代码的理由很简单。每个对代码有点喜欢的人,都会觉得能创造一门语言是很酷而且充满神秘感的事情,尤其对我这样非科班出身的人。龙书很早就买了,一直搁着,上面布满了灰尘。中间也接触过一些编译类的书籍,比如编译原理与实践就实现了一个Toy级别的脚本语言,虽然五脏俱全,但是毕竟离正经产品级的代码还是有距离。

Lua也是一早就听说过,但是一直没有太多了解。直到2011年换工作之后,使用C++

Lua5.1.4代码分析(二十)-函数的返回参数

Lua中,函数的返回参数数量可能会随着赋值表达式左边的情况而进行调整。

比如,同样的函数f(),本来返回两个参数,而如果是表达式A = f(),则第二个返回参数将被抛弃。同样的,如果是表达式A,B,C =