Uma rotina pra complementar a SUB-LIST que postei outro dia:
; remove somente os (n-esimos) valor(es) da lista
(defun remove-n (n lst / new nl)
(setq new nil
nl 0
n (if (listp n) n (list n))
n (vl-sort n '<))
(repeat (length lst)
(if (/= nl (car n))
(setq new (append new (list (car lst))))
(setq n (cdr n)))
(setq lst (cdr lst)
nl (1+ nl)))
new)
esta rotina remove os N-ésimos elementos de uma lista, exemplo:
(remove-n '(2 3 4) '("a" "b" "c" "d" "e" "f"))
retorna : ("a" "b" "f")
Nenhum comentário:
Postar um comentário