Sujet : Re: [Newbie] passing keyword argument
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lispDate : 18. Jul 2024, 08:39:18
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v7agr4$2am53$1@dont-email.me>
User-Agent : XanaNews/1.18.1.6
Carl Taylor wrote:
Here's a LOOP version of an index constructor.
(defun make-index-list (obj seq &key (test #'eql))
(loop for p = (position obj seq :test test :start (if p (1+ p) 0))
while p
collect p))
(compile *)
CL-USER 18 >
(make-index-list
'(0 1)
'(a (6 2 z) (0 1) (1 2 3 4) (q w e r t y) (0 1) (foo) bar)
:test #'equal)
(2 5)
Gauche Scheme
(define (make-index-list obj seq :optional (test equal?))
(filter-map
(lambda(x i) (and (test obj x) i))
seq
(lrange 0)))
(make-index-list
'(0 1)
'(a (6 2 z) (0 1) (1 2 3 4) (q w e r t y) (0 1) (foo) bar))
===>
(2 5)