繁体   English   中英

Haskell操作列表的元素

[英]Haskell manipulating elements of a list

因此,可以说我有一个特定的字符串,并且我想检查字符串的元素,无论它们是数字还是字符。 每个数字都必须用数字1替换,每个字符都用数字2替换,最后,在对所有数字求和时必须显示最终结果。 示例:函数“ 123abc”必须给出结果9

我已经想出了一种使用列表理解和模式匹配的解决方案,但是我需要能够给出一个不使用它们的解决方案,这意味着仅elem,head,tail,reverse,map,sum等。所有这些都必须为1功能,现在几个合为一体。

您可以执行以下操作;

import Data.Char (isDigit)
import Data.Bool (bool)

getsum :: String -> Int
getsum = sum . map (bool 2 1 . isDigit)

*Main> getsum "1234abc"
10

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM