[英]Check if the item in list or sub-list
我想使用检查功能检查项目是否在列表或子列表中。 但是错误确实使我感到困惑。 有人可以告诉我我的代码有什么问题吗?
(define check
(lambda(item lis)
(cond((null? lis) #f)
(else(if(pair? (car lis))
(if(check item (car lis)) #t (check item (cdr lis)))
(if(equal? item (car list)) #t (check item (cdr lis))))))))
> (check 'a '(a b))
. . car: contract violation
expected: pair?
given: #<procedure:list>
您在这里有错字:
(equal? item (car list))
它应该是:
(equal? item (car lis))
请注意, list
是一个过程,代码中的参数称为lis
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.