Daniel Amelang wrote:
>>But "a".downcase! => nil ... And the same with most !-methods (they return
>>nil when nothing was changed).
> 
> 
> That always bothered me, since I lose my method chaining with !
> methods. Like this:
> 
> line.strip!.downcase!
> 
> must be
> 
> line.strip.downcase
> 
> to work properly. But then you lose some efficiency.
> 
> I'd prefer that ! methods returned 'self'. In the *rare* case that I
> need to know if something changed, I'll use == or something. RCR in
> the making?

It's been discussed a lot over the years. My impression is that
Matz likes this behavior, in which case it would be unlikely to
change.


Hal