체인 방식으로 사용할 때 '< <'을 동일한 동작으로 구현하려면 어떻게해야합니까?루비 체인 방식/배열
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?
두 경우 모두 동일한 결과를 얻길 원합니다.
귀하의 질문에 대한 답변이 맞습니까? 나는 혼란스러워. – Chuck
위의 대답에 대한 설명입니다. 짧은 대답은 Matthew에 의해 주어졌다. – Portela