LUA objet set var by self val

  • Initiateur de la discussion
Z

zoukilama

Geek
Messages
15
Score réaction
8
Points
75
Bonjour et Bonne année ! :)

J'ai un petit soucis en Lua, j'essaie de get une valeur de l'instance en court pour set une autre valeur

voila dans un premier temps comment j'ai procéder
Code:
local panel = { panel1 = "Panel1", --panel1Extend = self.panel1, --panel1Extend = panel1, --panel1Extend = panel.panel1, panel1Extend = function(self) return self.panel1 end
}
Erreur [panel1Extend]: attempt to index global 'self' (a nil value)
Erreur [panel1Extend]: attempt to call field 'panel1Extend' (a userdata value)
Erreur [panel1Extend]: attempt to index global 'panel' (a nil value)
Erreur [panel1Extend]: attempt to index global 'self' (a nil value)

je voit pas comment récupérer cette foutu variable dans l'instance :/ et je ne voit pas d'autre solution
Si quelqu'un peut m'aider s'il vous plait :)
 
  • J'aime
Réactions: Mohamed_RACHID
AyZenSantos

AyZenSantos

Psychopathe
Messages
3 361
Score réaction
753
Points
300
*Invoque pour 1000eme fois
@Makss @Zaros_Live*
 
  • J'aime
Réactions: zoukilama
BaguetteSousLaisselle

BaguetteSousLaisselle

Geek
Messages
70
Score réaction
133
Points
70
@Slawer
 
  • J'aime
Réactions: zoukilama
edouard292

edouard292

Geek suprême
Messages
423
Score réaction
108
Points
150
bonsoir tu essayes de get une valeur d'instance de la changer en Orange ( côté client ? )
 
Mohamed_RACHID

Mohamed_RACHID

Lua Gronul
Messages
38
Score réaction
28
Points
110
Je vais recopier les informations pour que chacun puisse comprendre la résolution.

Code:
local panel = { panel1 = "Panel1", panel1Extend = function(self) return self.panel1 end
}
Code:
panel:panel1Extend()
appelle la méthode panel1Extend() de panel avec comme 1er argument implicite panel
self
vaut panel
Code:
panel.panel1Extend( panel )
appelle la méthode panel1Extend() de panel avec comme 1er argument explicite panel
self
vaut panel
Code:
panel.panel1Extend()
appelle la fonction panel1Extend() de panel sans arguments
self vaut nil

Ceci dit tu n'es pas obligé d'appeler une fonction puisque les attributs privés n'existent pas en Lua.
Tu peux utiliser la valeur panel.panel1 directement
 
  • J'aime
Réactions: zoukilama
  • Initiateur de la discussion
Z

zoukilama

Geek
Messages
15
Score réaction
8
Points
75
Mohamed_RACHID à dit:
Je vais recopier les informations pour que chacun puisse comprendre la résolution.

Code:
local panel = { panel1 = "Panel1", panel1Extend = function(self) return self.panel1 end
}
Code:
panel:panel1Extend()
appelle la méthode panel1Extend() de panel avec comme 1er argument implicite panel
self
vaut panel
Code:
panel.panel1Extend( panel )
appelle la méthode panel1Extend() de panel avec comme 1er argument explicite panel
self
vaut panel
Code:
panel.panel1Extend()
appelle la fonction panel1Extend() de panel sans arguments
self vaut nil

Ceci dit tu n'es pas obligé d'appeler une fonction puisque les attributs privés n'existent pas en Lua.
Tu peux utiliser la valeur panel.panel1 directement
Merci beaucoup tout est beaucoup plus clair :)
 
Discord d'entraide
Rejoignz-nous sur Discord