【发布时间】:2019-05-24 07:33:18
【问题描述】:
当我尝试将 sum-of-prefixes 函数应用于数字列表时,出现错误 '0 is not a function:
(define sum-of-prefixes
(lambda (lat)
(cond
((null? lat) '())
((null? (cdr lat)) (car lat))
(else
(sum-of-prefixes-b 0 lat '())))))
(define sum-of-prefixes-b
(lambda (sum lat result)
(cond
((null? lat) result)
(else
(sum-of-prefixes-b (+ sum (car lat)) (cdr lat) (cons (sum result)))))))
我见过this question,看起来很相似,但我在我的代码中看不到表达式可能被简化为 (0)。
您可以尝试在这里评估它: https://repl.it/repls/GlamorousProbableBlocks
(sum-of-prefixes '(1 2 4)) 错误:0 不是函数 [前缀总和,前缀总和-b,(匿名)]
【问题讨论】:
标签: functional-programming scheme higher-order-functions