← GeekServers.gg [DEBUG:1782456837]
⚠ Archive en lecture seule — Retour sur GeekServers.gg
Je suis en train de faire la refonte d'un de mes addons et ayant besoin d'un semblant de POO, j'ai commencé à faire quelque chose de similaire à ça : http://et.worldofwarcraft.wikia.com/wik ... rogramming

Mais un énorme problème est alors apparu. On ne "peut pas" utiliser de table dans les classes. Un exemple :

Code: Tout sélectionner
ClassTest = {}
ClassTest.__index = ClassTest

function ClassTest:New()
   local self = {}
   setmetatable(self, ClassTest)
   
   self.tab = {}
   return self
end

function ClassTest:CheckTab()
   for i=1, stat in pairs(self.tab) do
      -- Do something
   end
end


Le for de CheckTab va afficher une erreur à self.tab.

D'après ce forum, ce n'est pas incurable, mais je n'y comprends franchement rien du tout : http://www.wowinterface.com/forums/show ... hp?t=52364

Si quelqu'un est plus à l'aise que moi avec les metatables et veut bien perdre une aprem à comprendre comment résoudre ce problème, je lui en serai fort reconnaissante.
Alizouille

<Carina>


Si jamais certains tombent sur ce problème, cela vient de l'initialisation de la boucle for. Erreur bête.

Le code juste :
Code: Tout sélectionner
ClassTest = {}
ClassTest.__index = ClassTest

function ClassTest:New()
   local self = {}
   setmetatable(self, ClassTest)
   
   self.tab = {}
   return self
end

function ClassTest:CheckTab()
   for i, stat in pairs(self.tab) do
      -- Do something
   end
end
Alizouille

<Carina>





Conditions générales d'utilisation et mentions légales - Code de conduite des forums - Contact