Sub-List

Se alguem já usou o CAR, CADR, CAADR, etc, deve ter sentido falta de recuparar uma lista de elementos no meio da lista, exemplo: ( 1 2 3 4 5 6 ) se eu querer pegar os elementos do 2º ao 4º, temos (3 4 5), mas como fazê-lo?
pode ser assim:


(defun sub-list (lst a b / tmp n)
(
setq tmp nil
n a)
(
while (>= b n)
(
setq tmp (append tmp (list (nth n lst)))
n (1+ n)))
tmp)


Deixe um comentário

Carrinho de compras
Rolar para cima