From: Eric Hodel Date: 2007-08-16T11:44:31+09:00 Subject: Re: ! semantics On Aug 15, 2007, at 16:03, Logan Capaldo wrote: > On 8/15/07, dblack@rubypal.com wrote: >> On Wed, 15 Aug 2007, Simon Krahnke wrote: >>> * (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