0
如何使用count
来计算列表中的特定数字?计算列表中的具体数字
(define lst '(1 1 1 1 2 2 2 3 3 3 3 3 4 4)
(count 2 lst);; what should I use at the place of '2'
但是,它导致以下错误。
count:合同违规
预计:程序?
下式给出:对于该程序返回true
列表中元素的2个
如何使用count
来计算列表中的特定数字?计算列表中的具体数字
(define lst '(1 1 1 1 2 2 2 3 3 3 3 3 4 4)
(count 2 lst);; what should I use at the place of '2'
但是,它导致以下错误。
count:合同违规
预计:程序?
下式给出:对于该程序返回true
列表中元素的2个
count
计数的数目。在这种情况下,您需要一个仅在元素为2时才返回true的过程:(lambda (x) (equal? x 2))
。
在全面,你可以做
(define lst '(1 1 1 1 2 2 2 3 3 3 3 3 4 4))
(count (lambda (x) (equal? x 2)) lst)
附注:您可以通过(curry equal? 2)
替换lambda表达式缩短。
我以前从来没有见过使用'咖哩'。它主要用于替换lambda表达式吗? @Gibstick – Toat
@Toat是的,这就是我如何使用它(节省)。 – Gibstick