Leg*_*431 3 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
Run Code Online (Sandbox Code Playgroud)
结果是
1 Bee
2 apple
3 clown
Run Code Online (Sandbox Code Playgroud)
即使我想要的结果看起来像这样
1 apple
2 Bee
3 clown
Run Code Online (Sandbox Code Playgroud)
我已经设法弄清楚这是因为table.sort函数使用默认的"<"运算符,而"B"的ASCII值为66,这显然低于ASCII值"a"或"c" ",分别是97和99.我知道我可以在调用table.sort时应用自定义函数,但我不知道该函数的样子.
此外,除非您以后能够恢复它们,否则不能选择将所有字母设为大写或小写.
任何帮助是极大的赞赏.
该函数table.sort接受函数作为第二个参数来测试您的值.
例
table.sort(tTable, function(a, b) return a:upper() < b:upper() end)
Run Code Online (Sandbox Code Playgroud)