Lua: Le tutoriel  wxWidgets
Lua
Les métatables: Qu'est-ce qu'une méta-table? ( ou metatable )

Une métatable n'est ni plus, ni moins qu'une table Lua ordinaire.

Une métatable mt, va redéfinir le comportement de la valeur initiale d'une table t1, en fonction de certaines opérations spéciales.

Au moment de sa construction, une table ne possède pas de métatable.

	-- Construction d'une nouvelle table... Ce n'est pas une métatable!
	table0 = {}
	-- Recherche de l'existence d'une métatable.
	print(getmetatable( table0 )) 
	
	on obtiendra: nil  car il n'y a pas de métatable..
				

Il appartient au programmeur de créer la métatable dont il aura besoin et de l'associer à la table de son choix.

	-- Construction d'une table 't0'
	t0 = {}
	-- Construction d'une table 't1'
	t1 = {}
	-- Assignation de t1 en tant que métatable de 't0'.
	setmetatable( t0, t1 )	
	
	-- t1 est maintenant la métatable de 't0'.
				
Toute table peut être la métatable d'une autre table.
Un groupe de tables connexes peut partager une métatable commune (qui décrit leur comportement commun).
Une table peut être sa propre métatable (de sorte qu'elle décrive son propre comportement individuel).
Toute configuration est valide.
logo wxWidgets Le savoir ne vaut que s'il est partagé par tous...
logo-internet_32x32.png Dernière mise à jour, le 4 décembre 2012.
Valid XHTML 1.0 Transitional

wxlualogo
Flèche haut
Flèche gauche
Flèche haut
Flèche droite