Lua:对具有不同大小

时间:2018-01-10 13:39:09

标签: arrays sorting lua lua-table

我在使用 table.sort 函数时遇到了Lua的问题。如果你想说服自己,我写了一个小片段,准备你去测试。

test = {"apple", "Bee", "clown" }
table.sort( test )

for k, v in pairs( test ) do
    print( k, v )
end

结果是

1   Bee
2   apple
3   clown

即使我想要的结果看起来像这样

1   apple
2   Bee
3   clown

我已经设法弄清楚这是因为 table.sort 函数使用默认的"<"运营商," B"其ASCII值为66,明显低于" a"的ASCII值。或" c",分别为97和99。我知道我可以在调用 table.sort 时应用自定义函数,但我不知道该函数的外观如何。

此外,除非您以后能够恢复所有字母,否则不能选择将所有字母设为小写或大写字母。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:6)

函数table.sort接受一个函数作为第二个参数来测试你的值。

示例

table.sort(tTable, function(a, b) return a:upper() < b:upper() end)