class Adresse
def initialize(rue)
@rue = rue end end
Utilisons maintenant cette classe pour créer un objet:
adresse = Adresse.new("Rue de la Renaissance, 49")
Et voila le travail. adresse est dès à présent un objet provenant de la classe Adresse.
class Adresse def initialize(rue) @rue = rue end # Renvoie simplement @rue def rue @rue end end
Maintenant, la méthode Adresse#rue vous permet d'obtenir la rue d'une adresse. Dans IRB:
>> adresse.rue => "Rue de la Renaissance, 49"
class Adresse attr_reader :rue def initialize(rue) @rue = rue end end
class Adresse attr_reader :rue def initialize(rue) @rue = rue end def rue=(une_rue) @rue = une_rue end end
Et voici comment utiliser cette nouvelle méthode:
adresse.rue = "Une autre adresse"
![]() | Note |
---|---|
Remarquez que Ruby accepte des espaces entre rue et = (dans l'affectation). Par contre, il ne faut pas mettre d'espaces dans la définition de la méthode. |
class Adresse attr_reader :rue def initialize @rue = "" end def rue=(une_rue) @rue = une_rue end end adresse = Adresse.new adresse.rue = "Rue de la Renaissance, 49"
class Adresse attr_reader :rue attr_writer :rue def initialize @rue = "" end end
class Adresse attr_accessor :rue def initialize @rue = "" end end
class Adresse attr_accessor :rue, :code_postal, :ville, :pays def initialize @rue = @code_postal = @ville = @pays = "" end end
![]() | Note |
---|---|
Notez que attr_accessor accepte plusieurs arguments. |