如何计算bool列表中真实元素的数量?

时间:2013-11-06 06:59:48

标签: scheme lisp racket

我可以写一个像这样的函数

(define (bool-num x) (if x 1 0))
(define (cnt-true lst)
  (foldl + 0 (map bool-num lst)))

但我发现不优雅,因为球拍有count函数和false?,但没有true?

所以我可以计算假元素的数量:

(count false? lst)

我想念的一切?

1 个答案:

答案 0 :(得分:3)

您正在寻找程序identity

(count identity '(#t #f #t #t #f))
=> 3

(count identity '(1 2 #t #f #f 9))
=> 4