有時候可能有這樣的需求:比如有很多個人,每個人的年紀不同,現在需要對所有人的年紀進行排序。代碼如下:
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
輸出結果:未排序的和排序之後的