2017-05-07 83 views
0

我剛開始學習Haskell的字符串的特定characthers所以這可能是一個非常簡單的question..but那就是: 我有一個字符串,一個charachter C和一些N.我需要編寫一個函數,用字符串C替換字符串中被N除的所有字符。 我必須使用列表理解並且只使用基本函數或庫函數。哈斯克爾更換

replace::Char->Int->String->String 

有人能幫我嗎?

replace :: Int -> [Int] -> [Int] 
replace y xs = [ if isDivided i then y else x | (i,x) <- zip [0..] xs ] 
+0

更具體。 「有人可以幫助我」是一個是/否的問題。 – melpomene

+0

好吧,我需要寫這個功能,但我甚至不知道從哪裏開始。我已經指出我剛開始學習haskell :) – Madalina

+1

所以你想要別人從頭開始教你Haskell?這對於SO來說太廣泛了。 – melpomene

回答

1

你的方法基本上是正確的。如果您更改類型簽名:

replace :: Char -> Int -> String -> String 

,並添加另一種說法:

replace y d xs = [ if isDivisible i d then y else x | (i,x) <- zip [0..] xs ] 

你就幾乎完成。你只需要寫isDivisible