Vous ne faites rien de mal. En supposant que vous voyez quelque chose comme #<Adder:0xb7f9f710 @my_num=12>
alors en Ruby, c'est juste la représentation par défaut de l'objet que vous avez créé.
Si vous souhaitez modifier ce comportement pour qu'il soit plus convivial lorsque vous passez votre objet à l'adresse suivante puts
vous pouvez surcharger la méthode to_s (to string), par exemple
class Adder
def initialize(my_num)
@my_num = my_num
end
def to_s
"Adder with my_num = #{@my_num}"
end
end
alors quand vous le faites puts y
vous verrez Adder with my_num = 12
Vous pouvez également remplacer l'option inspect
qui est utilisée, par exemple, lorsque la console Ruby irb imprime la représentation de votre objet, par exemple.
class Adder
def inspect
to_s # return same representation as to_s
end
end
puis en irb :
>> y = Adder.new 12
=> Adder with my_num = 12