One very common operation on lists is sorting them. Lua's table library
contains the table.sort
function
local x = {
"b",
"e",
"a",
"d",
"c",
}
Default Sort
-- list is sorted in-place
table.sort(x)
print(x[1]) -- a
print(x[2]) -- b
print(x[3]) -- c
print(x[4]) -- d
print(x[5]) -- e
Sorting in Reverse
-- list is sorted in-place
table.sort(x, function(a, b)
return a > b
end)
print(x[1]) -- e
print(x[2]) -- d
print(x[3]) -- c
print(x[4]) -- b
print(x[5]) -- a
Random Order
local math = require("math")
-- list is sorted in-place
table.sort(x, function(a, b)
return math.random() > 0.5
end)
print(x[1]) -- d
print(x[2]) -- a
print(x[3]) -- b
print(x[4]) -- c
print(x[5]) -- e