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