Lua 5.3正式版發布,支持整數、位操作和UTF-8
原文 http://www.infoq.com/cn/news/2015/01/lua-5.3-release-utf8
Lua 是一個基于 MIT 開源協議、小巧、動態類型的可嵌入式腳本語言,該語言的設計目的是為了嵌入其他應用程序中并提供靈活的擴展和定制功能。在經過4個RC版本后,Lua終于 迎來了5.3正式版,該版本主要實現了對整數、位操作、UTF-8 的支持以及打包和解包的功能。另外,Lua 5.3還在語言、功能庫、C語言相關API等方面帶來了如下改進:
1、 語言方面
Lua的基本類型userdata能夠被賦予任何Lua支持的值;新增整數除法;為一些元方法新增了更加靈活的規則。
2、 功能庫方面
改進了迭代器ipairs和table庫對元方法的支持;為string.dump增加了截斷選項;為table庫新增了元方法;新增table.move、string.pack、string.unpack、string.packsize等函數。
3、 C語言相關API方面
增加了訪問C語言中的continuation函數的API;lua_gettable 和類型函數能夠返回結果值的類型;為lua_dump增加了截斷選項;新增了lua_geti、lua_seti、lua_isyieldable、 lua_numbertointeger、lua_rotate、lua_stringtonumber等函數。
4、 獨立解釋器方面
Lua的解釋器可以用作計算器,且無需前綴‘=’;所有的代碼都已支持參數列表。
Lua 5.3正式版現已提供 下載 ,更多有關該版本的信息參見官方發布的 ChangeLog 。另外,Lua最著名的案例是暴雪公司在其網絡游戲《魔獸世界》中的應用,目前非常流行的手游《憤怒的小鳥》也是用Lua編寫的。
Lua 5.3正式版發布后, Hacker News 上就有了 相關討論 。用戶 sitkack 提出了Lua的兩個第三方UTF-8 lib庫: luautf8 和 utf8.lua ;用戶 justincormack 認為Lua對整數的支持是一個巨大的改進。
這真是一個好消息,自己一直期待著將Lua應用到移動平臺 MOAI 的最新客戶端中,但是Lua對UTF-8支持的缺失一直影響著項目的進展,Lua 5.3對UTF-8的支持意味著其功能更加強大和完整。
Reddit 上也有了 相關評論 ,用戶 ladna 認為:
Lua 5.3實現對整數、UTF-8和位操作的支持是一個巨大的改進。
用戶 feydius 評論到:
真是太好了,Lua 5.3對64位整數的默認支持和對位操作的支持(5.3前是通過分割函數來實現)真是一個巨大的改進。垃圾收集器的進展現在是什么情況了?是否已經能夠使用了。