Ассоциативная сортировка таблицы по значению в Lua
У меня есть ключ => таблица значений I 'Я хотел бы разобраться в Lua. Все ключи целые, но нет последовательный (и имеет значение). Lua»Единственная функция сортировкиtable.sort
, который обрабатывает таблицы как простые массивы, отбрасывая оригинальные ключи и их связь с конкретными элементами. Вместо этого япо существу хотел бы иметь возможность использоватьРНРasort()
функция.
Что я имею:
items = {
[1004] = "foo",
[1234] = "bar",
[3188] = "baz",
[7007] = "quux",
}
Что я хочу после операции сортировки:
items = {
[1234] = "bar",
[3188] = "baz",
[1004] = "foo",
[7007] = "quux",
}
Есть идеи?
Редактировать: На основании ответов яЯ собираюсь предположить, что этопросто странная причуда конкретного встроенного интерпретатора Lua I 'Я работаю с, но во всех моих тестах,pairs()
всегда возвращает элементы таблицы в том порядке, в котором они были добавлены в таблицу. (то есть две вышеупомянутые декларации будут повторяться по-разному).
К сожалению, потому что это неэто нормальное поведение, похоже, я не могуполучить то, что мне нужно; Луа не делаетУ меня есть необходимые инструменты (конечно), а встроенная среда слишком ограничена, чтобы я мог ее обойти.
Тем не менее, спасибо за помощь, все!