当应用于正确的列表时,cdr将始终返回另一个列表(包括'()空列表).
使用正确的列表我的意思是一个以空列表结尾的列表.例如,当您(define lst '(4 5))在引擎盖下执行此操作时,这将被分配给lst:(cons 4 (cons 5 '())),因此当您评估时,您(cdr lst)将获得第一个元素,第二个元素cons恰好是(cons 5 '()),然后将其打印为(5).
为了仅提取列表中的第二个元素(不是第一个元素cons,这是什么cdr),您可以:
(car (cdr lst))或仅仅(cadr lst)是简短的(second lst)(define cell (cons 4 5))或(define cell '(4 . 5))构建一个cons单元格然后你可以(car cell)用来提取第一个元素并(cdr cell)提取第二个元素.| 归档时间: |
|
| 查看次数: |
469 次 |
| 最近记录: |