|
|
||
|
local function ss2(t)
local uptable = setmetatable({},{
__index = function(t,k)
local v = k:upper()
t[k] = v
return v
end})
local function cmp(a,b)
local upa, upb = uptable[a], uptable[b]
if upa ~= upb then
return upa < upb
else
return a < b
end
end
table.sort(t, cmp)
end
On 12/18/2009 05:34 AM, Peter Cawley wrote:
On Fri, Dec 18, 2009 at 1:27 PM, Jeff Pohlmeyer <yetanothergeek@gmail.com> wrote:table.sort(t, function (a, b) A=a:upper() B=b:upper() return A==B and a<b or A<B end);a<b can be false, so the implicit-if is not appropriate. You'd have to use an explicit-if: table.sort(t, function (a, b) local A,B =a:upper(), b:upper() if A == B then return a< b else return A< B end end)