0

我有'((5 1 0)),并希望我的条件为假,因为它包含超过 2 个元素。'一对?' 如果使用,函数会给出#t。有什么帮助吗?

4

1 回答 1

3

pair?过程对于测试对象是否是 cons-cell(并且所有非空列表都是 cons-cell)很有用。与它一起使用length

(define p1 '(5 1 0))
(and (pair? p1) (= (length p1) 2))
=> #f

(define p2 '(5 1))
(and (pair? p2) (= (length p2) 2))
=> #t

我冒昧地更改了示例,问题中的'((5 1 0))一个是具有单个元素的列表,而恰好是另一个列表。

于 2013-08-09T03:00:37.063 回答