我遇到了variable not in scope: m
错误。
这应该是以尾递归方式对n个数字求和的代码。
zum :: Integer-> Integer
zum n = add_sum m n where
add_sum :: Integer-> Integer-> Integer
add_sum m n
| n == 0 = m
| otherwise = add_sum (m+n) (n-1)
答案 0 :(得分:1)
在代码的第二行
zum n = add_sum m n where
'米'没有定义。也许它的目的不是在那里,而是在那里需要0。
答案 1 :(得分:0)
sum n = go 0 n
where go m 0 = m
go m n = go (m+n) (n-1)
> sum 4
10