matz / zetabits.com (Yukihiro Matsumoto) writes:

> In message "[ruby-talk:6601] Re: Question on sort!"
>     on 00/11/28, Dave Thomas <Dave / thomases.com> writes:
> 
> |   ary.sort!.reverse!.each {...
> |
> |It works fine 99.999% of the time, but occasionally fails with some
> |message about some undefined method and nil...
> |
> |Perhaps we're extending the wrong principle here. Just because _some_
> |! methods return nil, should all of them?
> 
> OK, OK.  Let's discuss.
> 
> The principle above have both pro and con.
> 
>   (+) consistency.
>   (-) returning nil somtimes breaks method chains.
> 
> The latter can be avoided if one follows the no-bang-method-chain
> rule.  But I don't force you to agree with me (yet ;-).
> 
> 							matz.

I vote for consistency. I also invoke the "rule of least surprise":

	irb> p [].sort
	[]
	nil
	irb> p [].sort!
	nil
	nil

Perhaps it's too late to change, but I don't like the fact that bang
methods return nil.

Jim
-- 
Jim Menard   jimm / io.com   http://www.io.com/~jimm/   BeOS developer #1283
"Mind you, deep in the IBM VM operating system source we once found a
comment that said 'remember to collect laundry on way home'."
    -- Alan J. Flavell in comp.lang.perl.misc