【发布时间】:2021-06-13 10:36:37
【问题描述】:
我是 Racket 的新手,想要创建一个名为 events 的函数,它可以计算一个字符在字符列表中出现的次数。例如:
(出现'(#\a #\a #\b) #\a)
2 ;结果应该是这样的
【问题讨论】:
我是 Racket 的新手,想要创建一个名为 events 的函数,它可以计算一个字符在字符列表中出现的次数。例如:
(出现'(#\a #\a #\b) #\a)
2 ;结果应该是这样的
【问题讨论】:
你可以用foldl 来做,像这样:
(define (occurrences l c)
(foldl (lambda (x acc) (if (char=? x c) (+ acc 1) acc)) 0 l))
(writeln (occurrences '(#\a#\a#\b) #\a))
Fold 将从零开始计数,并为每个与所需值匹配的项目递增
【讨论】: