Comment puis-je implémenter le '< <' pour avoir le même comportement lorsqu'il est utilisé comme méthode chaînable?Ruby chainable method/array
class Test
attr_accessor :internal_array
def initialize
@internal_array = []
end
def <<(item)
@internal_array << :a
@internal_array << item
end
end
t = Test.new
t << 1
t << 2
t << 3
#t.internal_array => [:a, 1, :a, 2, :a, 3]
puts "#{t.internal_array}" # => a1a2a3
t = Test.new
t << 1 << 2 << 3
#t.internal_array => [:a, 1, 2, 3]
puts "#{t.internal_array}" # => a123 , Why not a1a2a3?
Je souhaite que les deux cas donnent le même résultat.
Est-ce censé être une réponse à votre question? Je suis confus. – Chuck
C'est l'explication de la réponse ci-dessus. La réponse courte a été donnée par Matthew: ajoutez-vous au ... – Portela