lua
Lua 是一个小巧的
脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。
Lua最著名的应用是在 暴雪公司的 网络游戏 WOW中。
Lua 脚本可以很容易的被 C/ C++代码调用,也可以反过来调用C/C++的 函数,这使得Lua在 应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替 XML,Ini等 文件格式,并且更容易理解和维护。
Lua由标准C编写而成,代码简洁优美,几乎在所有 操作系统和 平台上都可以 编译,运行。
一个完整的Lua 解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
Lua 有一个同时进行的 JIT项目,提供在特定平台上的即时编译功能,这将给Lua带来更加优秀的性能。请访问 http://luajit.org/来了解这个项目。
和 Python等脚本不同,Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。不过Lua还是具备了比如数学运算和 字符串处理等基本的功能。
Lua 目前的最新版本是 5.1.
1 目标
LUA的目标是成为一个很容易嵌入其它语言中使用的语言。大多数程序员也认为它的确做到了这一点。
很多应用程序使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括 魔兽世界、 博德之门等。
2 特性
LUA有如下特性:
轻量级 LUA语言的官方版本只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。
可扩展 LUA并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由 宿主语言(通常是C或C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。
其它特性 LUA还具有其它一些特性:同时支持 面向过程编程和 面向对象编程;自动内存管理;提供一系列数据结构,包括数组、链表、集合、字典、散列表等;语言内置 正则表达式匹配;闭包(closure);函数也可以看做一个值;提供多线程支持;等等。
3 示例代码 是的,你猜对了:hello world... print "Hello,world!" 一个比较复杂一点的例子,但是它展示了什么是闭包: function create_a_counter() local count = 0 return function() count = count + 1 return count end end create_a_counter()返回一个记数器,每次调用这个记数器,都会得到一个比上次大1的值。
Lua最著名的应用是在 暴雪公司的 网络游戏 WOW中。
Lua 脚本可以很容易的被 C/ C++代码调用,也可以反过来调用C/C++的 函数,这使得Lua在 应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替 XML,Ini等 文件格式,并且更容易理解和维护。
Lua由标准C编写而成,代码简洁优美,几乎在所有 操作系统和 平台上都可以 编译,运行。
一个完整的Lua 解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
Lua 有一个同时进行的 JIT项目,提供在特定平台上的即时编译功能,这将给Lua带来更加优秀的性能。请访问 http://luajit.org/来了解这个项目。
和 Python等脚本不同,Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。不过Lua还是具备了比如数学运算和 字符串处理等基本的功能。
Lua 目前的最新版本是 5.1.
1 目标
LUA的目标是成为一个很容易嵌入其它语言中使用的语言。大多数程序员也认为它的确做到了这一点。
很多应用程序使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括 魔兽世界、 博德之门等。
2 特性
LUA有如下特性:
轻量级 LUA语言的官方版本只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。
可扩展 LUA并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由 宿主语言(通常是C或C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。
其它特性 LUA还具有其它一些特性:同时支持 面向过程编程和 面向对象编程;自动内存管理;提供一系列数据结构,包括数组、链表、集合、字典、散列表等;语言内置 正则表达式匹配;闭包(closure);函数也可以看做一个值;提供多线程支持;等等。
3 示例代码 是的,你猜对了:hello world... print "Hello,world!" 一个比较复杂一点的例子,但是它展示了什么是闭包: function create_a_counter() local count = 0 return function() count = count + 1 return count end end create_a_counter()返回一个记数器,每次调用这个记数器,都会得到一个比上次大1的值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。