2017-10-13 4 views
1

J'ai la table LUA:Obtenir la valeur du tableau indexé par les chaînes

flys = { 
["Moltres"] = {229, 2300}, -- moltres 
["Articuno"] = {230, 2100}, -- artic 
["Zapdos"] = {224, 2600}, -- zapdos 
["Mew"] = {232, 2200}, -- 1000 
["Mewtwo"] = {233, 2200},-- two 
["Dragonite"] = {221, 1300},-- nite 
["Pidgeot"] = {222, 900}, -- geot 
["Fearow"] = {226, 800}, -- fearow 
["Aerodactyl"] = {227, 1100}, -- aero 
["Charizard"] = {216, 1000}, -- chari 
["Porygon"] = {316, 600}, -- porygon 
["Shiny Dragonite"] = {1020, 1300},-- Shiny nite 
["Shiny Pidgeot"] = {996, 900}, -- Shiny geot 
["Shiny Fearow"] = {997, 800}, -- Shiny fearow   --alterado v2.5 
["Shiny Charizard"] = {295, 1000}, -- Shiny chari 
["Porygon2"] = {648, 890}, -- 2 
["Skarmory"] = {649, 1000}, -- skarmory 
["Crobat"] = {652, 1190}, -- crobat 

["Dragonair"] = {1112, 1150}, 
["Shiny Dragonair"] = {1113, 1400}, --alterado v2.5 
["Noctowl"] = {994, 1000}, 
} 

Il est indexé par des chaînes, chaque élément contient 2 chiffres.

Je ne peux pas obtenir les valeurs. Je veux par exemple imprimer le numéro d'un objet de table.

La façon la plus évidente (pour moi) ne fonctionne pas:

local pokemon3 = flys["Pidgeot"] 
print("pokemon id: "..pokemon3[1]) 

Il dit sa valeur nulle. J'ai essayé beaucoup de combinaisons de ceux-ci et aucun ne fonctionne.

Répondre

3

Je ne vois aucun problème avec le script et cela fonctionne très bien pour moi (testé dans Lua 5.1, 5.2 et 5.3).

La façon dont vous avez montré est la bonne façon de faire cela et si vous avez toujours un problème, vous devez poster le exact script qui ne fonctionne pas pour vous et les détails de l'environnement que vous essayez d'exécuter il dans.

+0

Oui, vous avez raison, cela fonctionne. J'ai trouvé une autre table avec ce nom dans les fichiers sur lesquels je travaille. Cela causait le problème. Merci – Piodo