Groovy
  1. Groovy
  2. GROOVY-3797

Provide an index or counter for each/find/findAll/collect and friends by taking into accounts the arity of closures passed to them

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: groovy-jdk
    • Labels:
      None

      Description

      As per the suggestion on this thread:
      http://www.nabble.com/generic-%27withIndex%27-method-%28like-Ruby-1.9-with_index%29-ts25631548.html

      The idea is to have access to an index or counter in all the functional methods iterating over collections, by using an additional parameter in the closure passed in parameter of those methods. That way, we don't need to add as many *withIndex variant methods to the existing ones, but rather provide a convenient convention.

      Some examples with each, and similarly by replacing each with find/findAll/any/every/collect and perhaps inject:

      list.each { elem -> ... }
      list.each { elem, counter -> ... }
      
      map.each { entry -> ... }
      map.each { key, value -> ... }
      map.each { key, value, counter -> ... }
      

        Issue Links

          Activity

            People

            • Assignee:
              Paul King
              Reporter:
              Guillaume Delcroix
            • Votes:
              16 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development