From: Wouter de Bie Date: 2006-06-26T03:27:35+09:00 Subject: Odd << behaviour Consider the following code: class Stuff def << (arg1,arg2) puts arg1 puts arg2 end end s = Stuff.new When doing the following: s << "1", "2" Ruby errors with: stuff:8: parse error, unexpected ',', expecting ')' When doing: s << "1" Ruby expects 2 arguments instead of one (which is right). But when doing: s.<< "1", "2" suddenly everything works. To me, this seems a bit weird, since I expected that s << is syntactic sugar for s.<<, but the implementation seems different. Also using <<(*args) in the method definition doesn't do what I expect it to do. Of course I can work around not using s << with multiple arguments, but I'm just curious what the design principles are behind this behaviour. -- Posted via http://www.ruby-forum.com/.