2012/6/6 Doug Jolley <lists / ruby-forum.com>:
>> Methods ending with = can usually
>> only take one argument
>
> YIKES! I was not aware of that limitation. It certainly explains the
> error message which had left me completely baffled.
>
> I substituted an _ for the = and everything works perfectly. I won't be
> forgetting this real soon. Thanks so much.

Just so we're clear  this is a *parser* limitation, not a language
one. You can (and you did) declare such a method with multiple
arguments, and that didn't cause the error. You could even call it
with "obj.send :method=, arg1, arg2".

However, "obj.method=(a,b)" is not interpreted as "call `method=` on
`obj` with arguments `a`, `b`", but as "assign `(a,b)` to
`obj.method`", and there's no such thing as "(a,b)". (Technically that
assign is then converted to another function call, but let's skip
that.)

-- Matma Rex