我有一个函数,它接受一个包含两个或三个元素的列表。
;; expecting either ((a b c) d) or ((a b c) d e)
(define (has-third-item ls)
(if (null? (caddr ls))
false
true)
)
但是这段代码失败了
mcar: expects argument of type <mutable-pair>; given ()
在 (null? (caddr ls)) 表达式上。
我也试过
(eq? '() (caddr ls))
但它也没有用。如何判断是否有第三项?