Re: A Long Piece Of Lisp Code

Liste des GroupesRevenir à cl lisp 
Sujet : Re: A Long Piece Of Lisp Code
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lisp comp.lang.scheme
Date : 25. Jun 2025, 23:14:29
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <103hsc4$31e7r$1@dont-email.me>
References : 1
User-Agent : XanaNews/1.18.1.6
B. Pym wrote:

(defun split-if (fn lst)
  (let ((acc nil))
    (do ((src lst (cdr src)))
        ((or (null src) (funcall fn (car src)))
         (values (nreverse acc) src))
      (push (car src) acc))))
 
Scheme
 
(define (split-if fn lst)
  (do ((src lst (cdr src))
       (acc '() (cons (car src) acc)))
    ((or (null? src) (fn (car src)))
     (values (reverse acc) src))))
 
(split-if odd? '(0 2 4 5 7))
  ===>
(0 2 4)
(5 7)
 
(split-if odd? '(0 2 4 52 70))
  ===>
(0 2 4 52 70)
()
 
(split-if odd? '(3 0 2 4 52 70))
  ===>
()
(3 0 2 4 52 70)

(use srfi-1) ;; break

(break odd? '(0 2 4 5 7))
  ===>
'(0 2 4)
'(5 7)
 


Date Sujet#  Auteur
17 Sep 24 * Re: A Long Piece Of Lisp Code2B. Pym
25 Jun 25 `- Re: A Long Piece Of Lisp Code1B. Pym

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal