如果pair以空格char结尾,为什么结果值包含一个点(.)?这个点(.)是什么意思?
(cons 1 2 )
;Value 2: (1 . 2)
(car (cons 1 2 ))
;Value: 1
(cdr (cons 1 2 ))
;Value: 2
Run Code Online (Sandbox Code Playgroud)
这一个看起来很愚蠢,因为对只包含两个元素.
我只是想知道为什么第一个表达式在结果中回显一个点!
(cadr (cons 1 2 ))
;The object 2, passed as an argument to safe-car, is not a pair.
;To continue, call RESTART with an option number:
; (RESTART 1) => Return to read-eval-print level 1.
Run Code Online (Sandbox Code Playgroud)
谢谢!
CONS构造一对.一对两件事.它写成(firstthing . secondthing).
如果第二个是空列表,则写为(firstthing).它是一样的(firstthing . ()).
由于cons构造了一个缺点,结果(cons 1 2)是(1 . 2).
(cadr (cons 1 2))是一个错误.是的(car (cdr (cons 1 2)).(cdr (cons 1 2)是2.现在(car 2)错了.你不能走车的2.2是一个数字,而不是利弊.
如果要创建由cons单元格或空列表组成的列表,请使用该函数list.
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |