Ассоциативная сортировка таблицы по значению в Lua

У меня есть таблица ключей => значений, которую я бы хотел отсортировать в Lua. Все ключи являются целыми числами, но не являются последовательными (и имеют значение). Единственная функция сортировки Lua -table.sort, который обрабатывает таблицы как простые массивы, отбрасывая исходные ключи и их связь с конкретными элементами. Вместо этого я бы хотел использоватьРНРasort() функция.

Что у меня есть:

items = {
    [1004] = "foo",
    [1234] = "bar",
    [3188] = "baz",
    [7007] = "quux",
}

Что я хочу после операции сортировки:

items = {
    [1234] = "bar",
    [3188] = "baz",
    [1004] = "foo",
    [7007] = "quux",
}

Есть идеи?

Редактировать: Основываясь на ответах, я предполагаю, что это просто странная особенность конкретного встроенного интерпретатора Lua, с которым я работаю, но во всех моих тестахpairs() всегда возвращает элементы таблицы в том порядке, в котором они были добавлены в таблицу. (то есть две вышеупомянутые декларации будут повторяться по-разному).

К сожалению, поскольку это не нормальное поведение, похоже, я не могу получить то, что мне нужно; Lua не имеет необходимых встроенных инструментов (конечно), а встроенная среда слишком ограничена, чтобы я мог ее обойти.

Тем не менее, спасибо за помощь, все!

Ответы на вопрос(6)

Ваш ответ на вопрос