From: Michael Edgar Date: 2011-07-10T06:12:59+09:00 Subject: [ruby-core:37934] [Ruby 1.9 - Feature #5009] Bang method (!) consistency in Ruby 2 API Issue #5009 has been updated by Michael Edgar. This is a common misconception about the use of bang methods in Ruby. Bang does not indicate that a method mutates its receiver, merely that it should be used with caution. A good writeup on this can be found here: http://dablog.rubypal.com/2007/8/15/bang-methods-or-danger-will-rubyist From the conclusion: > If you let go of the notion that ! means destructive, and if you think through the naming and pairing of dangerous and non-dangerous methods, you���ll see how valuable a flag the ! can be. ---------------------------------------- Feature #5009: Bang method (!) consistency in Ruby 2 API http://redmine.ruby-lang.org/issues/5009 Author: Suraj Kurapati Status: Open Priority: Normal Assignee: Category: Target version: 2.0 =begin Hello, In Ruby 2, please use bang methods (those that end with !) consistently in the API. For example, the Ruby 1 API inconsistently names the following "destructive" methods plainly (without a bang): * Array#push * Array#pop * Array#shift * Array#unshift * Array#concat * Array#delete * Array#clear Please convert these into bang methods in the Ruby 2 API. Thanks for your consideration. =end -- http://redmine.ruby-lang.org