Just Running through this now.

```
walk(1:4,~ walk(1:6, ~ print(paste(.x, .y, sep = "-")),.y=.x))
[1] "1-1"
[1] "2-1"
[1] "3-1"
[1] "4-1"
[1] "5-1"
[1] "6-1"
[1] "1-2"
```

and

```
purrr::pwalk(expand.grid(1:4,1:6),~print(paste(.x, .y, sep = "-")))
[1] "1-1"
[1] "2-1"
[1] "3-1"
[1] "4-1"
[1] "1-2"
```

but to match your nested for loops exactly it fiddled and this works.

```
for (i in 1:4) {
for (j in 1:6) {
print(paste(i, j, sep = "-"))
}
}
[1] "1-1"
[1] "1-2"
[1] "1-3"
[1] "1-4"
[1] "1-5"
[1] "1-6"
[1] "2-1"
purrr::pwalk(expand.grid(1:6,1:4),~print(paste(.y, .x, sep = "-")))
[1] "1-1"
[1] "1-2"
[1] "1-3"
[1] "1-4"
[1] "1-5"
[1] "1-6"
[1] "2-1"
#or even a map of this
walk(1:4,~ walk(1:6, ~ print(paste(.y, .x, sep = "-")),.y=.x))
```

I have yet to figure out why the `.y=.x`

is at the end though.

`outer(1:4, 1:6, paste, sep = '-')`

gives a nice matrix.`cross2(1:4, 1:6) %>% map_chr(paste, collapse = '-')`

gives a character vector.`do.call(paste, c(expand.grid(1:4, 1:6), sep = '-'))`

`%>%`

between consecutive`purrr`

map-like functions. E.i pass the output list of one map as the input list to another map function.