[
https://issues.apache.org/jira/browse/GROOVY-10682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17607806#comment-17607806
]
ASF GitHub Bot commented on GROOVY-10682:
-----------------------------------------
eric-milles commented on code in PR #1785:
URL: https://github.com/apache/groovy/pull/1785#discussion_r976634950
##########
src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java:
##########
@@ -2273,6 +2273,26 @@ public static <T> T[] eachWithIndex(T[] self,
@ClosureParams(value=FromString.cl
return self;
}
+ /**
+ * Iterates through an int[],
+ * passing each int and the element's index (a counter starting at
+ * zero) to the given closure.
+ * <pre class="groovyTestCase">
+ * int result = 0
+ * [0, 1, 2].eachWithIndex{ x, index {@code ->} result += x * index }
+ * assert result == 5
+ * </pre>
+ *
+ * @param self an int array
+ * @param closure a Closure to operate on each item
+ * @return the self Object
Review Comment:
Should probably say array instead of Object
> Provide eachWithIndex for primitive arrays
> ------------------------------------------
>
> Key: GROOVY-10682
> URL: https://issues.apache.org/jira/browse/GROOVY-10682
> Project: Groovy
> Issue Type: Improvement
> Components: groovy-jdk
> Reporter: Eric Milles
> Assignee: Eric Milles
> Priority: Minor
>
> Consider the following:
> {code:groovy}
> @groovy.transform.TypeChecked
> void test(int[] ints) {
> ints.eachWithIndex { value, index ->
> println "$index: ${value.doubleValue()}"
> }
> }
> test(0,1,2,3,4,5)
> {code}
> Compiler reports "[Static type checking] - Cannot find matching method
> java.lang.Object#doubleValue()"
> {{eachWithIndex}} is only provided for reference types, so "value" is seen as
> Object by the type checker.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)