You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Eric Milles (Jira)" <ji...@apache.org> on 2022/02/08 19:35:00 UTC

[jira] [Created] (GROOVY-10473) Extend streams support to spread and subscript

Eric Milles created GROOVY-10473:
------------------------------------

             Summary: Extend streams support to spread and subscript
                 Key: GROOVY-10473
                 URL: https://issues.apache.org/jira/browse/GROOVY-10473
             Project: Groovy
          Issue Type: Improvement
            Reporter: Eric Milles


Groovy 3 and 4 added some {{Stream}} extension methods like {{plus}}, {{toList}} and {{toArray}}.  And some default type conversions like {{String[] array = stream;}}.  This could be taken further by having spread-dot and subscript support:
{code:groovy}
stream*.thing // --> stream.map(it -> it.thing).toList()
stream[1] // --> stream.skip(1).findFirst().orElse(null)
stream[1..10] // --> stream.skip(1).limit(10-1).toList()
// consider negative indexes and reverse ranges
{code}

Also, {{forEachPair}} and {{zip}} extension methods would be useful for processing parallel streams.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)