Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
新版本的主要变化:
语言: 1.线程和功能上不再增加fenv 2.表单中支持__len 元方法。 3.hex and \* escapes in strings 4.支持hexadecimal浮点数 5.支持不同类型的元方法。 6.不再验证opcode的一致性。 7."tail call"已经取代了"tail return" 事件。 8.支持空语句。 9.阻塞进程中会出现中断语句。
库: 1.通过xpcall来调用函数。 2.支持加载可选模式。(控制二进制文件) 3.支持加载可选的'env'. 4.新增了功能包:searchpath. 5.支持模块加载时接收路径。 6.在math.log中新增了可选的base。 7.在string.rep新增了隔离器。 8.新增了writereturns文件。 9.关闭pipe时返回exit状态。 10.新增了 __pairs 和__ipairs元方法。 11.为collectgarbage 和 lua_gc新增了 'isrunning' 可选项。 13.frontier patterns。 14.\0in patterns。 15.new option *L for io.read。 16.options for io.lines。 17.debug.getlocalcan access function varargs。
C API 1.在注册时支持预定义的主线程。 2.增加了常量 LUA_OK 和 LUA_ERRGCMM 3.新增了 lua_compare, lua_arith, 和 lua_len 4.新增了 lua_version 和 luaL_checkversion 5.lua_pushstring和 pushlstring 返回字符串。 6.new luaL_testudata and luaL_setmetatable 7.new luaL_tolstring 8.new lua_copy 9.new lua_absindex 10.new lua_upvalueid and lua_upvaluejoin 11.nparamsand isvarag available in debug API 12.new lua_Unsigned
Implementation 1.每个功能的最大常量数上升到一定程度。 2.支持 内在的ctypes版本。 3.潜入了更为简单的string buffers。 4.udata with finalizers被 保存在GC单独的列表里 5.CallInfostack现在是一个链接列表。 6.支持哈希浮点数。 7.在单独的解释器中支持非字符串的错误信息。 8.garbage集合中支持代模式。
详细信息:http://www.lua.org/work/doc/#changes
下载地址:http://www.lua.org/work/ |