P16 (**) Drop every N'th element from a list.

Liste des GroupesRevenir à cl lisp 
Sujet : P16 (**) Drop every N'th element from a list.
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lisp
Date : 02. Sep 2024, 09:10:35
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vb3od7$1snrj$1@dont-email.me>
User-Agent : XanaNews/1.18.1.6
    Example:
    * (drop '(a b c d e f g h i k) 3)

Where is "j"?

    (A B D E G H K)
"

(defun drop (list n)
 (loop
    :for elt :in list
    :for i :from 1
    :for die-elt-die! = (zerop (mod i n))
    :unless die-elt-die!
    :collect elt))

Gauche Scheme

(use srfi-1) ;; circular-list

(define (dropnth xs n)
  (filter-map
    (lambda (x b) (and b x))
    xs
    (cdr (apply circular-list #f (make-list (- n 1) #t)))))

(dropnth '(a b c d e f g h i j k l m) 3)
  ===>
(a b d e g h j k m)

Date Sujet#  Auteur
2 Sep 24 o P16 (**) Drop every N'th element from a list.1B. Pym

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal