Uploaded image for project: '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

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • groovy-jdk
    • 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 -> ... }
      

      Attachments

        Issue Links

          Activity

            People

              paulk Paul King
              guillaume Guillaume Sauthier
              Votes:
              16 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: