Combining infinite ranges
Philippe Sigaud
philippe.sigaud at gmail.com
Tue Jun 1 14:18:01 PDT 2010
On Tue, Jun 1, 2010 at 22:54, Philippe Sigaud <philippe.sigaud at gmail.com>wrote:
> I also found the (simple?) problem to enumerate a range of ranges to be
> more interesting than I thought.
> Given a range of ranges ... of ranges, of whatever rank, recursively
> enumerate it:
>
> [[a,b,c],[d,e,f],[g,h,i]]
>
> produce:
>
> (a,0,0),(b,0,1), (c,0,2),(d,1,0), ...
>
> the coordinates of each element, if you will. I have a working version now,
> but it sure taught me that my vision of recursion was flawed.
>
>
Ow, I meant, while conserving the original topology, not as a flat range:
[[(a,0,0),(b,0,1),(c,0,2)],
[(d,1,0), (e,1,1),(f,1,2)],
[(g,2,0), (h,2,1),(i,2,2)]]
Lazily, of course.
I wanted the to conserve the rank because
1- that was the goal of the module: map, produce, etc range of ranges
2- it allowed me to iterate to a 'line' and then descend into this
particular line.
3- the original idea was to generate an infinite n-dim grid of coordinates
Philippe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20100601/898178c7/attachment.html>
More information about the Digitalmars-d
mailing list