簡體   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