Abder-Rahman Ali wrote:
> Following this tutorial:
> http://jimneath.org/2008/05/15/swfup...ruby-on-rails/
>
> I want to ask about this method definition:
>
> def swfupload_file=(data)
>
> What is meant by the =(data) part?
The method's name is "swfupload_file=", and (data) is the one argument
that the method takes.
Methods with name ending '=' are treated slightly specially. The syntax
foo.bar = baz
looks like an assignment, but it isn't. It is actually calling method
"bar=" on object foo, with argument baz. In long-hand it would be
foo.send(:bar=, baz)
Also, these sorts of methods always return their argument, not the final
value evaluated or the value on a 'return' statement. That is,
a = foo.bar = baz
will always set a to baz, regardless of what the method bar= returns.
--
Posted via
http://www.ruby-forum.com/.