On Sun, 29 Apr 2007, German Monfort wrote:

> Hi all,
>
> I'm trying to add a new method to a class but I want to name it like `<<<' or
> `++', etc but it seems that these characters are not allowed
>
> irb(main):001:0> class A
> irb(main):002:1> def <<< arg
> irb(main):003:2> end
> irb(main):004:1> end
> SyntaxError: compile error
> (irb):2: syntax error, unexpected '<', expecting '\n' or ';'
> def <<< arg
>       ^
> (irb):4: syntax error, unexpected kEND, expecting $end
>        from (irb):4
>        from :0
>
> Is there a workaround to have a `<<<' method so I can use it like a <<< b or
> even a.<<< b?
>
>

harp:~ > cat a.rb
class C
   define_method('<<<'){ 42 }
end

p C.new.send('<<<')

harp:~ > ruby a.rb
42


-a
-- 
be kind whenever possible... it is always possible.
- the dalai lama