Требуется функция drop
. take
и drop
дополняют друг друга, поэтому (drop lst n)
создает остальную часть списка после элементов в (take lst n)
.
Пример:
> (take (list 1 2 3 4 5) 3)
(list 1 2 3)
> (drop (list 1 2 3 4 5) 3)
(list 4 5)
В некоторых библиотеках функцию drop
можно альтернативно вызвать list-tail
.
> (list-tail (list 1 2 3 4 5) 3)
(list 4 5)
Примечание: split-at
Функция возвращает оба одновременно, если вы хотите оба из одного вычисления.
> (split-at (list 1 2 3 4 5) 3)
(list 1 2 3)
(list 4 5)