On Aug 15, 2007, at 16:03, Logan Capaldo wrote:
> On 8/15/07, dblack / rubypal.com <dblack / rubypal.com> wrote:
>> On Wed, 15 Aug 2007, Simon Krahnke wrote:
>>> * <dblack / rubypal.com> (16:48) schrieb:
>>>> I guess I take my cue from the Ruby core/standard language, where
>>>> there's no use of !, as far as I know, except to distinguish a
>>>> "dangerous" method from its non-dangerous partner.
>>>
>>> That's because of the completeness of the library. Whenever there  
>>> can be
>>> a non-modifying partner, there is one.
>>
>> ! does not mean modifying; it means "dangerous".
>
> Just thought that I'd mention the usual example of the difference  
> is exit
> vs. exit! Neither is a "modifying" version of each other.

Instead of modifying anything, #exit! doesn't clean up after itself  
(run at_exit handlers, attempt to run finalizers, raise SystemExit,  
close file descriptors).  All of these things may be dangerous.

It is #exit that does the modifying of things.

--
Poor workers blame their tools. Good workers build better tools. The
best workers get their tools to do the work for them. -- Syndicate Wars