我刚刚开始学习haskell所以这可能是一个非常简单的问题..但这里是: 我有一个字符串,一个字符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 :(得分:1)
您的方法基本上是正确的。如果您更改了类型签名:
"as if"
并添加另一个参数:
replace :: Char -> Int -> String -> String
然后你几乎完成了。你只需要写replace y d xs = [ if isDivisible i d then y else x | (i,x) <- zip [0..] xs ]
。