Подтвердить что ты не робот

Лучший способ разделить несколько голов из списка с Erlang?

Итак, Эрланг - это настоящая радость для работы, но есть одна проблема, с которой я сталкиваюсь иногда, что мне интересно, есть ли лучший способ решить. Часто мне нужно разделить несколько элементов из списка. Синтаксис разделения списка на голову и хвост достаточно прямолинейный, но о том, когда есть несколько элементов.

1> List = [1,2,3,4,5].
[1,2,3,4,5]
2> [Head | Tail] = List.
[1,2,3,4,5]
3> Head.
1
4> Tail.
[2,3,4,5]

Есть ли лучший способ получить, скажем, первые два элемента списка, отличные от разбиения дважды в строке?

1> List = [1,2,3,4,5].
[1,2,3,4,5]
2> [Head1 | [Head2 | Tail]] = List.
[1,2,3,4,5]
3> Head1.
1
4> Head2.
2
5> Tail.
[3,4,5]

Я знаю, что это также можно упростить, написав функции, которые рекурсивно разделяют последующие главы из списка, но мне интересно, есть ли более простой встроенный способ сделать это (или, если на самом деле, рекурсивные последующие функции разделения способ наилучшей практики для выполнения этой задачи)? Спасибо!

4b9b3361

Ответ 1

[X1, X2 | Tail] = List.