请教怎样在scheme写这个, 我从C++刚过来学习,有点搞不清了
我想从一个list里面找相同element,如果有就输出#f, 如果没有就输出#t
比如(diff? '(2 7 1 4 1) ;表示这这个list里面的element是不是都是不一样
#f
如果 (diff? (1 2 3 4 5 6))
#t
(define diff?
(lambda (L)
(cond
((null? L) #f)
((equal? (car L) (car(cdr L))) (diff (cdr L)))
((diff? (cdr L)))
)))
(all-different? '(1 2 3 1))
我这里有error出现:
car: contract violation
expected: pair?
given: '()
我想从一个list里面找相同element,如果有就输出#f, 如果没有就输出#t
比如(diff? '(2 7 1 4 1) ;表示这这个list里面的element是不是都是不一样
#f
如果 (diff? (1 2 3 4 5 6))
#t
(define diff?
(lambda (L)
(cond
((null? L) #f)
((equal? (car L) (car(cdr L))) (diff (cdr L)))
((diff? (cdr L)))
)))
(all-different? '(1 2 3 1))
我这里有error出现:
car: contract violation
expected: pair?
given: '()