Asocjatywne sortowanie tabeli według wartości w Lua

Mam tabelę wartości key =>, którą chciałbym posortować w Lua. Wszystkie klucze są liczbami całkowitymi, ale nie są kolejne (i mają znaczenie). Wygląda na to, że jedyna funkcja sortowania Luatable.sort, który traktuje tabele jako proste tablice, odrzucając oryginalne klucze i ich powiązanie z określonymi elementami. Zamiast tego zasadniczo chciałbym móc korzystaćPHPasort() funkcjonować.

Co ja mam:

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

Czego chcę po operacji sortowania:

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

Jakieś pomysły?

Edytować: Opierając się na odpowiedziach, założę, że jest to po prostu dziwne dziwactwo konkretnego osadzonego interpretera Lua, z którym pracuję, ale we wszystkich moich testach,pairs() zawsze zwraca elementy tabeli w kolejności, w jakiej zostały dodane do tabeli. (tj. dwie powyższe deklaracje będą się iterować inaczej).

Niestety, ponieważ nie jest to normalne zachowanie, wygląda na to, że nie mogę dostać tego, czego potrzebuję; Lua nie ma wbudowanych niezbędnych narzędzi (oczywiście), a osadzone środowisko jest zbyt ograniczone, aby móc je obejść.

Mimo wszystko, dzięki za pomoc, wszystko!

questionAnswers(6)

yourAnswerToTheQuestion