可以注入 C 函数让 Lua 代码调用

Lua 5.2 (beta)发布了。Lua
是一个强大的,高效的,灵巧的,可嵌入式的脚本语言。Lua
是一个扩展式程序设计语言,它被设计成支持通用的过程式编程,并有相关数据描述的设施。
Lua 也能对面向对象编程,函数式编程,数据驱动式编程提供很好的支持。
它可以作为一个强大、轻量的脚本语言,供任何需要的程序使用。 Lua 以一个用
clean C 写成的库形式提供。。作为一个扩展式语言,Lua 没有 “main”
程序的概念:它只能 嵌入 一个宿主程序中工作,这个宿主程序被称作 embedding
program 或简称为 host 。 宿主程序可以通过调用函数执行一小段 Lua
代码,可以读写 Lua 变量,可以注入 C 函数让 Lua 代码调用。 这些扩展的 C
函数,可以大大的扩展了 Lua
可以处理事务的领域,这样就可以订制出各种语言,
而它们共享一个统一的句法格式的框架。 Lua 的官方发布版就包含了一个叫做
lua 的简单的宿主程序,它用 Lua 库提供了一个保证独立的 Lua
解释器。新版本的主要变化:语言:1.线程和功能上不再增加fenv2.表单中支持__len
元方法。3.hex and * escapes in
strings4.支持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.in 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_ERRGCMM3.新增了 lua_compare, lua_arith, 和 lua_len4.新增了
lua_version 和 luaL_checkversion5.lua_pushstring和 pushlstring
返回字符串。6.new luaL_testudata and luaL_setmetatable7.new
luaL_tolstring8.new lua_copy9.new lua_absindex10.new lua_upvalueid
and lua_upvaluejoin11.nparamsand isvarag available in debug API12.new
lua_UnsignedImplementation1.每个功能的最大常量数上升到一定程度。2.支持
内在的ctypes版本。3.潜入了更为简单的string buffers。4.udata with
finalizers被
保存在GC单独的列表里5.CallInfostack现在是一个链接列表。6.支持哈希浮点数。7.在单独的解释器中支持非字符串的错误信息。8.garbage集合中支持代模式。详细信息:#changes下载地址:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图