lisp nth函数对cons-cell不起作用

时间:2010-02-04 11:35:32

标签: lisp elisp

如果我的变量是list和cons-cell的组合,如何在lisp中使用第n个函数 例如:
(setq aa '(1 2) )
(nconc aa (+ 1 2))
 这让我回复(1 2 . 3)
当我说(nth 1 aa)时它返回2
但是当我使用(nth 2 aa )时会抛出错误

2 个答案:

答案 0 :(得分:8)

NTH返回第n个(0,1,2 ......)cons小区的汽车。

由于您的第二个cdr不是一个缺点,因此获取它的汽车是错误的。

(nthcdr 2 '(1 2 . 3))   returns 3
(last '(1 2 . 3))  returns (2 . 3)

通常最好避免使用不正确的列表,其中某些单元格的cdr不是缺点或NIL。

答案 1 :(得分:0)

呀。另一种说法是:“不要这样做,然后”。