Valid name for a method


#1

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?


#2

On Sun, 29 Apr 2007, German Monfort wrote:

(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