Associative le tri d'un tableau par la valeur en Lua

J'ai une clé => valeur de la table j'aimerais en Lua. Les touches sont tous les nombres entiers, mais ne sont pas consécutifs (et le sens). Lua est seulement fonction de tri semble être de la table.trier, qui traite des tables sous forme de tableaux simples, en écartant les clés originales et leur association avec des objets en particulier. Au lieu de cela, j'avais l'essentiel, comme pour être en mesure d'utiliser PHP asort() fonction.

Ce que j'ai:

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

Ce que je veux après l'opération de tri:

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

Des idées?

Edit: en Fonction de vos réponses, je vais supposer que c'est tout simplement un étrange caprice de l'embedded interpréteur Lua je suis travailler avec, mais dans tous mes tests, pairs() renvoie toujours les éléments de tableau dans l'ordre dans lequel elles ont été ajoutées à la table. (c'est à dire les deux déclarations ci-dessus itérer différemment).

Malheureusement, parce que ce n'est pas un comportement normal, on dirait que je ne peux pas obtenir ce dont j'ai besoin; Lua n'ont pas les outils nécessaires intégré (bien sûr) et intégré à l'environnement est trop limité pour moi de travailler autour d'elle.

Encore, merci pour votre aide à tous!

  • Ces deux tables sont exactement les mêmes.
InformationsquelleAutor Ben Blank | 2010-01-10