You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Henri Biestro (JIRA)" <ji...@apache.org> on 2018/08/14 14:29:00 UTC
[jira] [Commented] (JEXL-266) Allow to remove an element from
iterator collection within for-loops
[ https://issues.apache.org/jira/browse/JEXL-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16579881#comment-16579881 ]
Henri Biestro commented on JEXL-266:
------------------------------------
I'm afraid this is adding a new keyword and modifying the syntax for a very specific need...
What about trying to expose the iterator and/or the variable through an API to allow a more generic 'remove(item)' that could be resolved as a method in the context or arithmetic with a (tbd) signature ?
> 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)