我需要球拍帮助
IdentityDbContext
测试它
(define size1 (lambda (m)
(printf "size is ~v" (length m))))
很好
,
但是第二次测试
>(size1 '(2 8 9 0 'uu 98 0))
size is 7
它给了我1,cuz of the brocket,然而
我想提供的是3
我需要帮助
答案 0 :(得分:2)
请注意以下事项:
'((((7) 9 (11)))) ; list with one element --> '(((7) 9 (11)))
'(((7) 9 (11))) ; list with one element --> '((7) 9 (11))
'((7) 9 (11)) ; list with 3 elements --> '(7), 9 and '(11)
如果您打算编写包含三个元素的列表,那么您的列表应为'((7) 9 (11))
,并且您的函数调用将变为:
> (size1 '((7) 9 (11)))
size is 3
答案 1 :(得分:1)
所以你想要计算非空的元素而不是对:
(define (count-atoms tree)
(cond ((null? tree) 0) ; an empty tree has 0 atoms
((not (pair? tree)) 1) ; an atom is exactly one atom
(else ???))) ; the sum of counting atoms in car and cdr
这与length
的制作非常相似。