Variables in pipelines
Jose
jgetino at telefonica.net
Wed Aug 15 13:35:51 PDT 2012
OK thanks,
I was dreaming with a super pipeline that was more than a mere sequence of
operations, maybe nothing from this world.
-----Mensaje original-----
De: Brian Goetz [mailto:brian.goetz at oracle.com]
Enviado el: miércoles, 15 de agosto de 2012 21:50
Para: Jose
CC: lambda-dev at openjdk.java.net
Asunto: Re: Variables in pipelines
One thing you could do here is use "mapped", which is an operation on a
linear stream that produces a MapStream:
rects.mapped(r1 -> rotate(alpha)) // produces stream of (r1, rotated)
.tap((r1, r2) -> ...);
Now downstream stages have access to both.
(What you're specifically asking for doesn't really make linguistic sense;
r1 is like a method parameter, which isn't available outside that method's
scope.)
On 8/15/2012 3:33 PM, Jose wrote:
>
> Let suppose I want to do some operations in a stream of rectangles:
> rotate them and finding the intersection of the rotateded rectangles
> with the original ones:
>
>
> rects.map(r1->rotate(alpha)).tap(r2)->r2.intersection(r1);
>
>
> Here "tap" refers to the discusion on forEach
> http://mail.openjdk.java.net/pipermail/lambda-dev/2012-August/005463.h
> tml
>
> The problem is that being r1 a dummy variable, its reference is lost
> in the next link of the chain.
>
> It would be possible and desirable to keep the references of the
> variables inside a pipeline?.
>
> Maybe you can use BiMapper to keep trace of another variable, but the
> code would be much more cumbersome.
> Not to say if you want to reuse two o more variables along the pipeline.
>
>
>
More information about the lambda-dev
mailing list