地图总和[[]]的结果有误?

时间:2019-11-30 13:57:35

标签: haskell

sumord = unwords . map (show . sum . filter odd . map ord) . words

sumord "" == ""

sumord ""的值应为0,可能是函数sum的错误值,而map sum [[]] == [0]应该是写结果。

1 个答案:

答案 0 :(得分:1)

map sum [[]]很好。您可以自己尝试。问题是words ""[]而不是[[]],因此您的sumords最终是(unwords . map _ . words) "",即unwords (map _ (words "")),即{{ 1}}是unwords (map _ []),是unwords [],而不是您期望的""