Feature #5710

Enumerable#each( :method ) and Enumerable#map( :method )

Added by battox (Matías Battocchia) 6 months ago. Updated 6 months ago.

[ruby-core:41486]
Status:Closed Start date:12/05/2011
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:core
Target version:-

Description

#each and #map could accept an argument of class string or symbol and send it to the objects in the enumerable. An example: array = [ "bi", "tri", "quad" ] p array.each( :upcase! ) #=> [ "BI", "TRI", "QUAD" ] p array.map( :length ) #=> [ 2, 3, 4 ] It is the same --but succinctly-- as: array.each { | string | string.upcase! } array.map { | string | string.length } This abbreviation is useful for those simple cases when you need to call a method over, or retrieve the values of a property of a set of objects.

History

Updated by trans (Thomas Sawyer) 6 months ago

Try array = [ "bi", "tri", "quad" ] p array.each( &:upcase! ) #=> [ "BI", "TRI", "QUAD" ] p array.map( &:length ) #=> [ 2, 3, 4 ]

Updated by battox (Matías Battocchia) 6 months ago

It works. Thank you! I guess that this issue has been resolved...

Updated by duerst (Martin Dürst) 6 months ago

  • Status changed from Open to Closed
closed at request of submitter

Also available in: Atom PDF