« EPSILON is NOT 0.00001! | 返回首页 | double to int 神奇的 magic number »

lua 终于支持了16进制数

今天 lua 5.1 rc4 发布了。看了一下,比较 rc3 只改了两个地方,一个是 luaconf.h 里的 lua_popen 的宏。还有一个是增加了 hex number 的支持。

前两天在 mailist 里讨论了这个问题,其实早就有呼声加上 16 进制数了。其实我自己也写过 patch 加上,lua maillist 里 Roberto 提了个方案,只需要修改 luaconf.h 里的 #define lua_str2number(s,p) 这个宏就可以了。我测试了一下,很巧妙,还顺手附和了两句。

不过这个方法对 16 进制数前面加了负号是有问题的(虽然我认为一般不会这么用),结果还是对词法分析代码打了 patch,改动不大,而且同样也很巧妙。Roberto 这次很大方,这么快就加到官方版本并发布了。

这次因为这么小的改变就发布新的 rc ,看来 lua 5.1 的正式 release 很近了。期待,这样 lua 就拥有了官方的模块化解决方案。

Comments

在c++中test[4]=0x04是可能崩溃滴
如果只有这一个局部变量,修改的是栈底的返回地址,必然会崩溃。

云风大哥,初学Lua,请教个初级问题。
在C++中可以这样:
char test[4];
test[4]=0x04;
在Lua中如何表示上面的代码呢?

回复 scq2099yt
用lua的table表示数组
t = {}; t[4] = 0x04
请记得学习完PIL, 再使用lua

回复 scq2099yt
用lua的table表示数组
t = {}; t[4] = 0x04
请记得学习完PIL, 再使用lua

云风大哥,初学Lua,请教个初级问题。
在C++中可以这样:
char test[4];
test[4]=0x04;
在Lua中如何表示上面的代码呢?

留个言,踩一脚,这才叫沙发

Post a comment

非这个主题相关的留言请到:留言本