lua的解释器拿到 lua 编写的源码,首先进行解析,就是进行词法分析和语法分析,将源码转换成 lua 的指令集,然后执行这个指令集. lua 源码: function f(val) return val; end function main() local i = 1; local j = 2; local b = i + f(2); --local b = i + j; print("retval = "..b); return b; end 调用 main 的指令集分析: in
Lua2 1990年的时候,面向对象迈向巅峰,对于Lua没有面向对象的支持,我们受到了很大的压力.我们不想将Lua变成面向对象,因为我们不想“修复”一种编程范式(fix a programming paradigm).特别是,我们不觉得Lua需要将对象和类作为基础语言概念,我们觉得可以透过table来实现(table可以保存方法和数据,因为函数是第一类对象).直到今天,Lua也没有强加任何对象和类模型给用户,我们初心不变.很多用户建议和实现了面向对象模型:面向对象也是邮件列表里经常讨论的问题,我
转自http://my.oschina.net/mayqlzu/blog/113528 问题: 最近lua很火,因为<愤怒的小鸟>使用了lua,ios上有lua解释器?它是怎么嵌入大ios中的呢?lua的官网说:"lua is an embeddable scripting language",怎么理解呢?怎么在你自己的程序里嵌入lua解释器呢?如果可以在我的程序中嵌入了lua,那是否意味着我可以从此用lua编程了呢? 带着这些问题,打算在我的windows笔记本上做个实验
当我拿到_ENV表的时候,会去想这个_ENV表是干什么用的? 首先看如下代码: print(_ENV) --0x1d005f0 print(_G) --0x1d005f0 ViewCode 看了上面的代码,就感觉_ENV表不就是_G表吗?但_ENV表是不是全局的呢?我又打印了_G表的内容: for k , v in pairs(_G) do print(k , v) end --[[ package table: 0xad1e50 setmetatable function: 0x419220