LUA语言

Filed under: 开发编程 |
Posted on

最近玩了几次WOW,使用的是“月光宝盒”插件,做的很棒。于是在Interface目录下研究了一番,发现采用的是*.lua和*.xml文件。月光宝盒仅仅只是一个压缩包文件,解开后覆盖Interface目录就安装好了。仅仅只是覆盖就能实现这么强大的插件功能?

google了一下lua,发现原来lua是游戏开发中使用得最多的script语言。

语言,巴西人开发的一个十分高效的嵌入式动态语言

LUA程序设计语言是一个简单的、轻量级的、可扩展的脚本语言。LUA读作/’lua/,是葡萄牙语中”Luna”(月亮)的意思。

目录 1 目标 2 特性 3 示例代码 4 外部链接

目标
LUA的目标是成为一个很容易嵌入其它语言中使用的语言。大多数程序员也认为它的确做到了这一点。

很多应用程序使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括魔兽世界、博德之门等。

特性
LUA有如下特性:

轻量级 LUA语言的官方版本只包括一个精简的核心和最基本的库。这使得LUA体积小、启动速度快,从而适合嵌入在别的程序里。
可扩展 LUA并不象其它许多”大而全”的语言那样,包括很多功能,比如网络通讯、图形界面等。但是LUA可以很容易地被扩展:由宿主语言(通常是C或C++)提供这些功能,LUA可以使用它们,就像是本来就内置的功能一样。
其它特性 LUA还具有其它一些特性:同时支持面向过程编程和面向对象编程;自动内存管理;提供一系列数据结构,包括数组、链表、集合、字典、散列表等;语言内置正则表达式匹配;闭包(closure);函数也可以看做一个值;提供多线程支持;等等。
示例代码
是的,你猜对了: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的值。

下面是wow月光宝盒里的一个插件lua代码

Tags :
Trackback url : u can trackback from your own site
分享到新浪微博

Leave a Reply