# Solved- Nested map - how to access value from previous iteration?

I’m trying to solve aoc day 3 and my idea is to generate list of points
[“R2”,“U3”]
starting from the point {0,0} then 2 points Right and 3 points Up
the results needs to be:

``````[
[{1,0},{2,0}],
[{2,1},{2,2}{2,3}]
]
``````

or as a drawing:

``````..u..
..u..
..u..
orr..
``````

my implementation is that I map over the first list,
inside I pattern match on the direction and create a range with the length of vector then again I map over the range to generate the points.
The problem is that every nested map needs a different starting point (the last point from previous list) and I’m not really sure how to pass this variable in elixir - I’m thinking about a global variable but there is probably an easier solution

PS. I don’t want to ask in the aoc thread due to spoilers and I think the problem is more generic

Solution: the longer I think about it I need Enum.reduce instead of map and accumulate the new list in accumulator - this way I will have access to it in the next iteration

I’m unsure why a list of lists, but I’d probably just flatten it then loop over the points, filling in the characters in a map, then loop over the map to determine the extants while rendering out a list/binary of characters, then fill in the empty space with dots and print. I haven’t seen the AoC thing so if some knowledge was disposed on that then I don’t have it. ^.^;

If you don’t want to flatten the lists for some reason, just a nested reduce would work.

I don’t think that I need the whole grid for this particular solution.
I just need to generate list of all the points contained in the vectors.

That’s why I think the question is more generic and if someone has similar problem he won’t probably search in an aoc thread

The drawing is just for explaining what I want to achieve.
Solution: the longer I think about it I need Enum.reduce instead of map and accumulate the new list in accumulator - this way I will have access to it in the next iteration