Je travaille sur un livre sur Ruby, et l'auteur a utilisé une forme légèrement différente pour écrire une définition d'initialisation de classe que dans les sections précédentes du livre. Il ressemble à ceci:Quelle est la différence entre ces deux définitions d'initialisation de classe Ruby?
class Ticket
attr_accessor :venue, :date
def initialize(venue, date)
self.venue = venue
self.date = date
end
end
Dans les sections précédentes du livre, il aurait été défini comme ceci:
class Ticket
attr_accessor :venue, :date
def initialize(venue, date)
@venue = venue
@date = date
end
end
est-il une différence fonctionnelle entre l'utilisation de la méthode setter, comme dans le premier exemple, vs en utilisant la variable d'instance comme dans la seconde? Ils semblent tous les deux travailler. Même les mélanger travaux:
class Ticket
attr_accessor :venue, :date
def initialize(venue, date)
@venue = venue
self.date = date
end
end
+1 pour ne pas avoir programmé par coïncidence. –