发布于 2016-01-25 10:05:31 | 364 次阅读 | 评论: 0 | 来源: 网友投递
Lua 脚本语言
Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的GIT项目,提供在特定平台上的即时编译功能。
lua中利用到的排序的基本上就是构造函数(table)了,为了便于和C区分开来,我俗称它为表单。
实例:(原理就是LUA集成的冒泡算法)
排序的一般姿势(对于只包含数字或者只包含字符串的简单数组)
table.sort(test)
扩展版
table.sort(test, function(a,b) return a.id<b.id end )
实例一:值排序
1.数组模式
local test0 ={1,9,2,8,3,7,4,6}
table.sort(test0) --从小到大排序
for i,v in pairs(test0) do
io.write(v.." ")
end
print("");
table.sort(test0,function(a,b) return a>b end) --从大到小排序
for i,v in pairs(test0) do
io.write(v.." ")
end
print(" ")
2.表单模式
local test2 ={
{id=1, name="deng"},
{id=9, name="luo"},
{id=2, name="yang"},
{id=8, name="ma"},
{id=5, name="wu"},
}
table.sort(test2,function(a,b) return a.id<b.id end )
for i in pairs(test2) do
print(test2[i].id,test2[i].name)
end
实例二:键值排序
local test1 ={a=1,f=9,d=2,c=8,b=5}
local key_test ={}
for i in pairs(test1) do
table.insert(key_test,i) --提取test1中的键值插入到key_test表中
end
table.sort(key_test)
for i,v in pairs(key_test) do
print(v,test1[v])
end