如何在執行'< <'作爲可鏈式方法時具有相同的行爲?Ruby鏈式方法/數組
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 2010-07-30 21:24:44
這是對上述答案的解釋。馬修給出了簡短的回答:在...上添加自我... – Portela 2010-08-04 04:30:18