【发布时间】:2010-06-26 11:53:09
【问题描述】:
我一直在玩 Haskell,包括练习以无点形式编写函数。这是一个示例函数:
dotProduct :: (Num a) => [a] -> [a] -> a
dotProduct xs ys = sum (zipWith (*) xs ys)
我想以无点形式编写此函数。这是我在其他地方找到的示例:
dotProduct = (sum .) . zipWith (*)
但是,我不明白为什么无点表单看起来像 (sum .) . zipWith (*) 而不是 sum . zipWith (*)。为什么 sum 在括号中,并且有 2 个组合运算符?
【问题讨论】: