有时候可能有这样的需求:比如有很多个人,每个人的年纪不同,现在需要对所有人的年纪进行排序。代码如下:
Person = {name = "", age = 0}
function Person:new(o)
o = o or {}
setmetatable(o,self)
self.__index = self
return o
end
p1 = Person:new({name = "xiaolili",age = 22})
p2 = Person:new({name = "xiaoming",age = 12})
p3 = Person:new({name = "xiaozhang",age = 33})
--待排序的对象表
pertable = {p1,p2,p3}
--自己定义比较器
mycomp = function (x,y)
return x.age < y.age
end
table.sort(pertable,mycomp)
for k,v in pairs(pertable) do
print(v.name,v.age)
end
输出结果:未排序的和排序之后的