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

最佳答案

n返回n(0,1,2…)cons小区的车。
因为你的第二个cdr不是一个cons单元,所以把车开走是个错误。

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

通常,避免使用不正确的列表是一个好主意,因为某些单元的cdr不是cons或nil。

关于lisp - lisp nth函数在cons-cell上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2199272/

10-13 04:12