发布时间:2014-09-01 14:41:53
table对象有metatable。metatable中的方法控制在特定情况下的行为,如 控制算术运算与逻辑运算的 控制字符串打印的__tostring及连接操作符..的__concat 控制length操作符#的__len 控制被调用时的__call 控制访问不存在的域__index.........【阅读全文】
发布时间:2014-09-01 13:02:10
coroutine的三个状态:suspend, running, dead. 新创建的coroutine处于suspend状态; resume使coroutine由suspend状态进入running态 yield使coroutine进入suspend态。 由于coroutine总是被resume调用而运行,yield看起来就象是resume的返回点,.........【阅读全文】
发布时间:2014-08-29 10:59:02
自认为跟C++中的functor比较像,C++中的functor就是重载了operator()的对象,当把一个C++对象当成函数一样调用obj()时,实际上启动了对于obj的operator()的调用,于是一个可被调用的对象就产生了,如果写成obj.()可能会比较符合对象方法的一般做法。lua table如果设置了metamethod __call,调用对象luaobj()时,会调用到_.........【阅读全文】
发布时间:2014-07-01 14:51:05
VC下的luajit的集成比linux/unix/mac下还要简单,至少我的过程是这样的。平台:windows7-32bit, VS2013.1,下载:luajit2.0.2,解压缩。通过vs2013的native tool command promot进入src目录:msvcbuild然后,很快就编译好了。生成的文件lib啥的,都直接在src目录下。强迫症患者找个好地方放,而.........【阅读全文】