Hi,

In message "[ruby-talk:03385] Re: chomp!"
    on 00/06/13, Conrad Schneiker <schneik / austin.ibm.com> writes:

|So is there some grand overall plan, principle, reasoning, or system to all of
|these sorts of things?

It's natural for me.

  str.xxx

    Returns a copy of a string, no matter if modification happens.

  str.xxx!

    Modifies a string.  Returns nil if no modification happens.

  xxx

    Returns a copy of a string refered from $_, also assign the copy
    to $_ (currently always - may be changed in the future).

  xxx!

    Modifies a string refered from $_.  Returns nil if no modification
    happens.

xxx = {sub, gsub, chop, chomp}

							matz.