[ 
https://issues.apache.org/jira/browse/JEXL-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16582476#comment-16582476
 ] 

Henri Biestro commented on JEXL-266:
------------------------------------

Augmented example with 2nd overload; it follows your expectation that iterating 
on a map iterates on its values() which may not be expected; entries() would be 
a another possible choice.

> Allow to remove an element from iterator collection within for-loops
> --------------------------------------------------------------------
>
>                 Key: JEXL-266
>                 URL: https://issues.apache.org/jira/browse/JEXL-266
>             Project: Commons JEXL
>          Issue Type: New Feature
>    Affects Versions: 3.1
>         Environment: I have created a patch as initial implementation for 
> this new feature, please see github pull request here 
> [pr#5|https://github.com/apache/commons-jexl/pull/5]. I whould be very 
> grateful if this could be interesting for the community and included in 
> master branch. Thanks in advance!
>            Reporter: Dmitri Blinov
>            Priority: Minor
>
> The for-loop in JEXL provides a convenient way to iterate over different 
> types of collections, however, its not possible for a script writer to 
> utilize underlying
> {code:java}
> iterator.remove(){code}
> method within such a loop. The proposal is to introduce new {{remove}} 
> statement which should be used within for-loops and should internally call 
> {{iterator.remove()}} method and skip the loop to the next element;
> For example, the following code should remove items {{1,2,3}} from set and 
> return value {{3}}.
> {code:java}
> var set = {1,2,3,4,5,6}; for (var item : set) if (item <= 3) remove; return 
> size(set)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to