История изменений
Исправление monk, (текущая версия) :
Сплит списка частая задача, зачем каждого юзера заставлять ее заново изобретать.
Есть loop и ради однострочника писать функцию не хочется.
(loop for i on lst while (pred (car i)) collect (car i) into left finally (return (values left i)))
вернёт искомые два списка
Также в Racket нет find. Точнее, есть в дополнительных библиотеках, но быстрее по месту написать
(for/first ([n (in-naturals)]
[i (in-list ...)] ; ну или в какой другой последовательности
#:when (pred i))
n)
Исходная версия monk, :
Сплит списка частая задача, зачем каждого юзера заставлять ее заново изобретать.
Есть loop и ради однострочника писать функцию не хочется.
(loop for i on lst while (pred (car i)) collect (car i) into left finally (return (values left i)))
вернёт искомые два списка
Также в Racket нет find. Точнее. есть в дополнительных библиотеках, но быстрее по месту написать
(for/first ([n (in-naturals)]
[i (in-list ...)] ; ну или в какой другой последовательности
#:when (pred i))
n)