[
https://issues.apache.org/jira/browse/TINKERPOP3-760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14650366#comment-14650366
]
Marko A. Rodriguez commented on TINKERPOP3-760:
-----------------------------------------------
Cool. We should have a chat about "nested loop" as once we figure out how that
will look, then we can do {{LoopsStep}}. I did some thinking last night and I
suspect that {{...loops()...}} will behave and be as you had it, we just need
to make sure so we don't get into a backwards compatible issue come "nested
loops." Here is the problem.
{code}
for(int i...) {
for(int j...) {
// I have access to both i and j
}
}
{code}
{{TraverserRequirement.NESTED_LOOPS}} will be like above. With {{loops()}} that
would only give us {{j}}. How do I get {{i}}? I have no good idea. As I see it,
I think that {{Traverser}} will have to implement some sort of "loop stack"
where when one {{repeat()}} is exited, the loop stack is pop'd. The problem
here is that we don't have variable names for {{repeat}} sections -- i.e. no
way of saying {{i}} vs. {{j}}. The simplest thing would be like
{{...loops(1)...}} which means, the loop count 1 stack element deep. ???. .. :|
> Make loop counter accessible within repeat()
> --------------------------------------------
>
> Key: TINKERPOP3-760
> URL: https://issues.apache.org/jira/browse/TINKERPOP3-760
> Project: TinkerPop 3
> Issue Type: Improvement
> Components: process
> Affects Versions: 3.0.0-incubating
> Reporter: Daniel Kuppitz
> Assignee: Daniel Kuppitz
> Fix For: 3.1.0-incubating
>
>
> Currently we can access the loop counter in a lambda:
> {code}
> .filter {it.loops() < 3}
> {code}
> Would be nice to have a step to access the counter:
> {code}
> .where(loops().is(lt(3)))
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)