Учитывая, что ваша таблица является последовательностью, вы можете использовать table.sort
напрямую. Эта функция принимает предикат сравнения в качестве второго аргумента, который предписывает логику сравнения:
require 'table'
myTable = {{1, 6.345}, {2, 3.678}, {3, 4.890}}
table.sort(myTable, function(lhs, rhs) return lhs[2] < rhs[2] end)
Печать таблицы, например, как for _, v in ipairs(myTable) do print(v[1], v[2]) end
, затем отображение желаемого порядка:
2 3.678
3 4.89
1 6.345
Они указывают здесь не размер таблицы для сортировки, а тот факт, что это последовательность, то есть упорядоченная.