Trier un Tableau sur[] en Lua
J'ai une table Lua que je suis en train de trier. Le tableau format est comme suit:
tableOfKills[PlayerName] = NumberOfKills
Ce qui signifie, par exemple, si j'avais un joueur nommé Robin avec un total de 8 kills et un autre nommé Jon avec un total de 10 tue, la table serait:
tableOfKills[Robin] = 8
tableOfKills[Jon] = 10
Comment pourrais-je le genre de ce type de tableau afin d'afficher la plus haute tue en premier? Merci à l'avance!
- double possible de la copie de données à partir de la table de antoher avec ordonnance
- Le tableau n'est pas un ensemble ordonné ou quelque chose. Il n'a pas manifesté de l'ordre.
Vous devez vous connecter pour publier un commentaire.
Une table Lua est un jeu de clé-valeur correspondances avec des clés uniques. Les paires sont stockés dans un ordre arbitraire et, par conséquent, le tableau n'est pas trié en aucune façon.
Ce que vous pouvez faire est de itérer dessus de la table dans l'ordre. La base
pairs
vous donne pas de garantie de l'ordre dans lequel les touches sont visités. Ici est une version personnalisée depairs
, que j'ai appeléspairs
car il itère sur la table dans un ordre trié:Voici un exemple d'utilisation de cette fonction:
spairs()
itérateur. Les itérateurs sont souvent un concept difficile à expliquer à de nouveaux utilisateurs, et bien expliqué, exemples à l'état sauvage aidera à atténuer cela.