【问题标题】:Lua: Sort String array with varying casingLua:使用不同的大小写对字符串数组进行排序
【发布时间】:2018-06-19 16:47:50
【问题描述】:

我在使用 table.sort 函数时遇到了 Lua 问题。如果你想说服自己,我写了一个小sn-p供你测试。

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 函数使用默认的“table.sort 时应用自定义函数,但我不知道该函数会是什么样子。

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

非常感谢任何帮助。

【问题讨论】:

    标签: arrays sorting lua lua-table


    【解决方案1】:

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

    示例

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

    【讨论】:

    • 这正是我所要求的。非常感谢,它很好地解决了这个问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 2020-10-17
    • 2019-07-10
    • 1970-01-01
    相关资源
    最近更新 更多