【发布时间】:2020-11-09 11:46:49
【问题描述】:
我有这个函数,它给我一个列表中给定位置的元素,需要用 cond 而不是 if 重写它。我也想稍微改变一下,所以如果我给出一个负值,它会返回 nil,例如
(getn 2 '(a b c)) => (c)
(getn -1 '(a b c)) => nil
功能:
(defun getn (n lst)
(if
(zerop n)
(car lst)
(getn (1- n) (cdr lst)) ) )
我这样做了,但没有用:
(defun getn (nb liste)
(cond
((= 0 nb) liste)
(getn (1- n) (cdr liste)) )
【问题讨论】:
标签: lisp common-lisp clisp