[
https://issues.apache.org/jira/browse/GROOVY-10473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles updated GROOVY-10473:
---------------------------------
Description:
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 corresponding streams.
was:
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.
> 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
> Priority: Major
>
> 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 corresponding streams.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)