【发布时间】:2019-02-01 16:19:31
【问题描述】:
所以我不太确定如何正确表达这一点,但是说我想得到一个列表中所有奇数的总和,我是否有两个函数(sumList 和 getOddNumbers)并将它们组合成 sumOddList 或者有一种将这两者放在一个函数中的方法?如果没有更好的功能,我将如何将它们组合成 sumOddList?
getOddNumbers :: [Integer] -> [Integer]
getOddNumbers [] = []
getOddNumbers (x:xs)
|odd x = x:getOddNumbers xs
|otherwise = getOddNumbers xs
sumList :: [Integer] -> Integer
sumList list = case list of
[] -> 0
(x:xs) -> x + (sumList xs)
我还问主要是因为将两个 diff 函数放在一起是我以前在使用 CodeWorld 放置颜色和形状以输出该颜色的形状时遇到的问题。
谢谢
(注意:我使用 Haskell 已经超过 5 周了,显然我完全是个菜鸟)
【问题讨论】:
标签: list function haskell recursion composition