[ 
https://issues.apache.org/jira/browse/GROOVY-10879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul King updated GROOVY-10879:
-------------------------------
    Description: 
As discussed in the mailing list:
https://lists.apache.org/thread/7rd6wdblnh7bmdf6socjnbf21crg37g0

Existing variants:
{code}
var languages = ['Kotlin', 'Groovy', 'Java', 'Clojure']
assert languages.collectEntries{ [it.toLowerCase(), it.size()] } ==
    [kotlin:6, groovy:6, java:4, clojure:7]
assert languages.collectEntries{ [it.toLowerCase(), it] } ==
    [kotlin:'Kotlin', groovy:'Groovy', java:'Java', clojure:'Clojure']
assert languages.collectEntries(Scala:5){ [it, it.size()] } ==
    [Scala:5, Kotlin:6, Groovy:6, Java:4, Clojure:7]
{code}

Proposed new variants:
{code}
assert languages.collectEntries(String::toLowerCase, String::size) == 
[kotlin:6, groovy:6, java:4, clojure:7]
assert languages.collectByValue(String::toLowerCase) == [kotlin:'Kotlin', 
groovy:'Groovy', java:'Java', clojure:'Clojure']
assert languages.collectByKey([Scala:5], String::size) == [Scala:5, Kotlin:6, 
Groovy:6, Java:4, Clojure:7]
def squared = e -> e ** 2
assert [Scala:5, Kotlin:6, Groovy:6, Java:4, 
Clojure:7].collectEntries(String::toLowerCase, squared) ==
    [scala:25, kotlin:36, groovy:36, java:16, clojure:49]
{code}



  was:
As discussed in the mailing list:
https://lists.apache.org/thread/7rd6wdblnh7bmdf6socjnbf21crg37g0



> Potential additional DGM collectEntries variants
> ------------------------------------------------
>
>                 Key: GROOVY-10879
>                 URL: https://issues.apache.org/jira/browse/GROOVY-10879
>             Project: Groovy
>          Issue Type: Improvement
>            Reporter: Paul King
>            Assignee: Paul King
>            Priority: Major
>
> As discussed in the mailing list:
> https://lists.apache.org/thread/7rd6wdblnh7bmdf6socjnbf21crg37g0
> Existing variants:
> {code}
> var languages = ['Kotlin', 'Groovy', 'Java', 'Clojure']
> assert languages.collectEntries{ [it.toLowerCase(), it.size()] } ==
>     [kotlin:6, groovy:6, java:4, clojure:7]
> assert languages.collectEntries{ [it.toLowerCase(), it] } ==
>     [kotlin:'Kotlin', groovy:'Groovy', java:'Java', clojure:'Clojure']
> assert languages.collectEntries(Scala:5){ [it, it.size()] } ==
>     [Scala:5, Kotlin:6, Groovy:6, Java:4, Clojure:7]
> {code}
> Proposed new variants:
> {code}
> assert languages.collectEntries(String::toLowerCase, String::size) == 
> [kotlin:6, groovy:6, java:4, clojure:7]
> assert languages.collectByValue(String::toLowerCase) == [kotlin:'Kotlin', 
> groovy:'Groovy', java:'Java', clojure:'Clojure']
> assert languages.collectByKey([Scala:5], String::size) == [Scala:5, Kotlin:6, 
> Groovy:6, Java:4, Clojure:7]
> def squared = e -> e ** 2
> assert [Scala:5, Kotlin:6, Groovy:6, Java:4, 
> Clojure:7].collectEntries(String::toLowerCase, squared) ==
>     [scala:25, kotlin:36, groovy:36, java:16, clojure:49]
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to