我可以写这样的函数
(define (bool-num x) (if x 1 0))
(define (cnt-true lst)
(foldl + 0 (map bool-num lst)))
但我发现并不优雅,因为球拍具有count
功能和false?
,但没有true?
所以我可以计算假元素的数量:
(count false? lst)
我错过了什么?
您正在寻找identity
的过程:
(count identity '(#t #f #t #t #f))
=> 3
(count identity '(1 2 #t #f #f 9))
=> 4