From: Rodrigo Rosenfeld Rosas Date: 2011-06-06T03:56:12+09:00 Subject: [ruby-core:36769] Re: [Ruby 1.9 - Feature #4830][Open] Provide Default Variables for Array#each and other iterators I would just like to point it out that in Groovy, one can write either: [1, 2].each{ println it } or [1, 2].each{ number -> println number } Em 05-06-2011 05:23, Lazaridis Ilias escreveu: > Issue #4830 has been reported by Lazaridis Ilias. > > ---------------------------------------- > Feature #4830: Provide Default Variables for Array#each and other iterators > http://redmine.ruby-lang.org/issues/4830 > > Author: Lazaridis Ilias > Status: Open > Priority: Normal > Assignee: > Category: core > Target version: > > > for arrays: use "item" by default > for hashes: use "key" and "value" by default > > names = ["Jane", "Michele", "Isabella"] > names.each { |name| print name, "\n" } > names.each { print item, "\n" } > > contact = {name:"Jane", phone:"1234567"} > contact.each { |key, value| print key, ": ", value, "\n"} > contact.each { print key, ": ", value, "\n"} > > - > > The benefits are: > > * more compact code (without loosing clarity of the code). > * no repetitions ("names, name, name") in a one-liner with {} block > > This extension does not break any existent behaviour. > >