Hola alguién es tan amable de explicarme esto de .self, lo he visto en algunos códigos, y aunque he leído en el libro de MrTatoad algo, pues no lo entiendo, :'(
Gracias,
Iván J.
Hola Mentalthink,
El self se usa para referirse desde una instancia de un objeto a una propiedad de sí misma. Por ejemplo, imagina que tenemos un objeto de tipo nave , entre otras, este objeto -este tipo- tiene una propiedad que es vida. Si, desde los métodos del type nave, me quiero referir a mi variable local vida, una de las formas, es usar self.vida... por ejemplo:
Dentro de algún método de la clase nave:
IF self.vida<=0
crearNuevaNave=1
ENDIF
Al menos así lo he usado en otros lenguajes y en éste, imagino, será parecido.
Espero haberme explicado!
Salud
'self' refers to a TYPE's member variable from within a FUNCTION in that TYPE.
It can only be used inside of a FUNCTION that's inside a TYPE.
Here's an example of OscarBraindeaD's explanation, using GLB code:
LOCAL ship AS TShip
ship.life = 100.0
ship.ApplyDamage(20.0)
TYPE TShip
life# = 0.0
colour% = RGB(255,0,0)
FUNCTION ApplyDamage: amount#
DEC self.life, amount
IF self.life < 0 THEN self.life = 0
ENDFUNCTION
ENDTYPE
Gracias OscarBraindDead, me queda bastante claro con tú explicación y la de Slydog.
Thanks Slydog, I have now a more clear idea whit your explanation and the OscarBrainDead explanation.
Thanks to both...
Iván J.