嗨,我正在尝试使用 foldl 函数将元组列表加到一个元组中,我尝试使用 lambda 表达式作为参数,但它在代码中给出了错误的值:
data Point = Point {x,y :: Float}
sumPoint :: [Point] -> (Float,Float)
sumPoint xs = foldl (\(a,b) x-> (0+a,0+b)) (0.0,0.0) xs
它应该出来sumPoint [Point 2 4, Point 1 2, Point (-1) (-2)] = (2.0,4.0)
但我得到了(0.0,0.0)
这有什么意义?