如何计算字符列表中给定字符的数量?
how to count the number of given characters in a list of characters?
我是 Racket 的新手,想创建一个名为 occurrences 的函数来计算一个字符在字符列表中出现的次数。例如:
(occurrences '(#\a #\a #\b) #\a)
2 ; this should be the result
你可以用 foldl 来做,像这样:
(define (occurrences l c)
(foldl (lambda (x acc) (if (char=? x c) (+ acc 1) acc)) 0 l))
(writeln (occurrences '(#\a#\a#\b) #\a))
折叠将从零开始计数,并为每个与所需值匹配的项目递增
我是 Racket 的新手,想创建一个名为 occurrences 的函数来计算一个字符在字符列表中出现的次数。例如:
(occurrences '(#\a #\a #\b) #\a)
2 ; this should be the result
你可以用 foldl 来做,像这样:
(define (occurrences l c)
(foldl (lambda (x acc) (if (char=? x c) (+ acc 1) acc)) 0 l))
(writeln (occurrences '(#\a#\a#\b) #\a))
折叠将从零开始计数,并为每个与所需值匹配的项目递增