【发布时间】:2014-09-30 11:50:34
【问题描述】:
我想对一个列表中偶数的平方求和。我试试这个,但显示错误。
sumaDeCuadrados :: [Int] -> Int
sumaDeCuadrados (x:xs) = sumaListAux (map f l) 0
where l = filter even (x:xs)
f = x * x
sumaDeCuadrados _ = 0
而 sumaListAux 是一个定义为 ..
的函数sumaListAux :: [Int] -> Int -> Int
sumaListAux [] r = r
sumaListAux (x:xs) r = x + sumaListAux xs r
【问题讨论】:
-
切勿在未发布详细信息的情况下在问题中声明“存在错误”。它与仅说明“有修复”的答案一样翔实。
-
将
f = x * x替换为f x = x * x即可。第一个方程定义一个数字,第二个方程定义一个函数。
标签: list dictionary haskell filter