On Jan 19, 2011, at 3:13 AM, Edmond Kachale wrote:

> Le 18 janvier 2011 22:01:11 UTC+2, Gary Wright <gwtmp01 / mac.com> a ñÄrit :
> 
>> 
>> On Jan 18, 2011, at 7:30 AM, Phillip Gawlowski wrote:
>>> 
>>> - methods that modify the object (or caller) itself, should be
>> exclamations:
>>> obj.truncate!
>>> obj.remove_name!
>>> obj.date! "Julian" # I wish I could do obj.date "Julian"!, instead. Ah,
>> well.
>> 
>> I think the conventional wisdom is that this should only be done only if
>> there is a matching non-mutating method that has the name without the
>> exclamation mark.
> 
> 
> Someone may give more info on why it should be like this:
> 

I think you left something off.  Anyway...

Here is a great explanation of the '!' naming convention:

<http://dablog.rubypal.com/2007/8/15/bang-methods-or-danger-will-rubyist>

I was going to try to explain this but why bother when David Black has already done a great job?

Gary Wright