matz / zetabits.com (Yukihiro Matsumoto) writes: > |Someone asked about a strange inconsistency in Rubicon, and I didn't > |know the answer. In light of the recent reverse! thread, I thought I'd > |post it here: > > This is very preliminary behavior following > a-bang-method-returns-nil-if-it-does-not-modify-the-recevier > principle. The behavior shall be more thorough in the future. Although I see the reason for returning nil on methods such as gsub!, is there really any practical reason for doing so on sort! or reverse! ? This seems to me to be more of an inconvenience than a help, and I'm not sure that any program would have a use for the test. However, I can see a lot of potential problems with programs that try to be efficient and sort (or reverse) in place. 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? Regards Dave Footnotes: Although adding #sorted? to Enumerable might be useful.