Hi --

On Sun, 31 Dec 2006, Eric Hodel wrote:

> On Dec 31, 2006, at 24:04, Wilson Bilkovich wrote:
>> On 12/31/06, Rob Sanheim <rsanheim / gmail.com> wrote:
>>> obj.send(:foo) # will call only public
>>> obj.send!(:foo) # will bypass private/protected, like the current send.
>>> 
>>> reads better then funcall to me, at least.
>> 
>> Yes please. That's perfect.
>
> No please.  That doesn't match the behavior of any other #foo, #foo! that I 
> know of.  #send and #funcall match what the written methods look like 
> perfectly.

But #foo/#foo! behaviors don't have to match each other, except at the
very abstract level of one being "dangerous".  I've always thought
that including private methods vs. not including them was a good
candidate for dangerous, but Matz didn't agree in this case so I don't
think it will happen.

#send and #funcall sort of match what the written methods *might* look
like (sometimes; not in the case of setter methods, and not for public
methods where you used a receiver) if you called them.  It just seems
to me to be a pretty tenuous connection.


David

-- 
Q. What is THE Ruby book for Rails developers?
A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black)
    (See what readers are saying!  http://www.rubypal.com/r4rrevs.pdf)
Q. Where can I get Ruby/Rails on-site training, consulting, coaching?
A. Ruby Power and Light, LLC (http://www.rubypal.com)