我在total = Number($("#TaskHours_"+rownumber+"__SaturdayHours").html())
中编写了一个函数,它获取了两个类型为Haskell
的列表,并将一个列表的值添加到另一个列表中。
例如:Int
将提供输出:addElements [1,2,3] [4,5,6]
到目前为止我的功能:
[5,7,9]
我一直收到错误:
模式中的解析错误:addElements失败,模块已加载:无
我没有得到任何其他信息 - 我做错了什么?
答案 0 :(得分:7)
你的模式需要括号。它应该是(x:xs)
,而不是x:xs
。这是导致编译器混淆的原因。
addElements :: [Int] -> [Int] -> [Int]
addElements [] [] = []
addElements (x:xs) [] = x:xs
addElements [] (y:ys) = y:ys
addElements (x:xs) (y:ys) = [x+y] ++ addElements xs ys
答案 1 :(得分:1)
不是OP的答案,但我只想指出模式可以简化为:
addElements :: [Int] -> [Int] -> [Int]
addElements xs [] = xs
addElements [] ys = ys
addElements (x:xs) (y:ys) = (x+y) : addElements xs ys