commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitri Blinov (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (JEXL-266) Allow to remove an element from iterator collection within for-loops
Date Wed, 15 Aug 2018 11:27:00 GMT

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

Dmitri Blinov edited comment on JEXL-266 at 8/15/18 11:26 AM:
--------------------------------------------------------------

Thanks, I'll try to play with it for a while. Now I wonder is it possible to introduce a simplified
function call syntax, where top-level functions without arguments, like 'remove()', would
be allowed to be called without '()' if they are the only part of expression statement, e.g.
{{remove; }}


was (Author: dmitri_blinov):
Thanks, I'll try to play with it for a while. Now I wonder is it possible to introduce a simplified
function call syntax, where top-level functions without arguments, like 'remove()', would
be allowed to be called without '()', e.g. {{remove;}}

> 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)

Mime
View raw message