2010-04-22 142 views
0
(define (member atom list) 
    (cond 
    ((null? list) '()) 
    (= atom (car list) "True") 
     (else 
     (member atom(cdr list))) 
    ) 
) 

(member '5 '(1 2 3 4 5)) 

即使该原子不是列表中的成员,它总是会显示为真。你能否帮我尽快澄清这个问题。成员的函数定义是什么?

+0

如果传递将是什么'(部件 '6'(1 2 3 4 5))'? – 2010-04-22 11:29:45

+1

仔细研究cond表达式中的第二种情况。谓词是什么,结果是什么? – 2010-04-22 11:35:48

回答

2

cond第二子句应该是:

((= atom (car list)) "True") 
+0

非常感谢!我错过了一个支架..这帮了我很多! – NHans 2010-04-22 15:03:51

相关问题