From: Balint Erdi Date: 2009-05-22T20:10:09+09:00 Subject: "consuming" the hash instead of just fetching from it Hi, Deleting (vs. just fetching) the hash key from an options hash that was passed in as an argument to the method seems prevalent. I saw it in several high-quality OS projects (e.g DataMapper, Rails) For example: unless options.delete(:only_path) url << (options.delete(:protocol) || 'http') url << '://' unless url.match("://") ... end I wonder what advantage the above snippet has instead of writing: unless options[:only_path] url << (options[:protocol] || 'http') url << '://' unless url.match("://") ... end Thank you, Balint