LINUX.ORG.RU

История изменений

Исправление 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)