сортировка таблицы в lua на основе значения внутренней таблицы

Итак, в настоящее время у меня есть таблица в Lua, которая содержит другую таблицу (очень похожую на хеш-таблицу). Он называется email_table, и у меня в нем есть моя person_table. Ключи email_table - это email_addresses, а person_table содержит всю информацию о человеке.

В настоящее время я пытаюсь отсортировать свой email_table на основе значения, находящегося внутри person_table. К сожалению, встроенная функция сортировки Lua не работает с такими значениями. Как мне начать?


person cj1098    schedule 05.04.2012    source источник
comment
Примечание: таблицы, содержащие другие таблицы, не имеют ничего общего с хэш-таблицами. Вы продолжаете использовать это слово; Я не думаю, что это означает то, что вы думаете.   -  person Nicol Bolas    schedule 06.04.2012


Ответы (1)


Вы не можете отсортировать то, что не является массивом. Если ваши ключи не являются монотонно увеличивающимися целыми числами, вы не сможете их отсортировать. Сортировка подразумевает порядок, и нет упорядочивания по нецелочисленным ключам таблиц.

Если «Ключи электронной_таблицы являются адресами электронной почты», то email_table не может быть отсортирован. У вас может быть другая таблица, которая представляет собой отсортированный список адресов электронной почты. Но это должен быть список: ключи должны быть монотонно увеличивающимися целыми значениями (1, 2, 3, 4 и т. Д.). У них есть четкий порядок.

person Nicol Bolas    schedule 05.04.2012