Учитывая список Elixir с отдельными элементами, как лучше всего создать список с парами смежных элементов?Это должно работать для любого списка, не только содержащего числа.
Ввод: [1,2,3,4,5,6,7]
Ввод: [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]]
Следующее решение работает, но выглядит неуклюжея.
Есть ли лучший / более простой способ сделать это?
> {[_|list],_} = Enum.map_reduce([1, 2, 3, 4, 5, 6, 7], nil, fn(x, acc) -> {[acc,x], x} end)
{[[nil, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]], 7}
> list
[[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7]]