> magicFunction 'l' '_' "hello world"
["he_lo world", "hel_o world", "hello wor_d"]
标准 Prelude 中是否有这样的神奇功能,还是可以轻松与其他功能组合?
不,这不是家庭作业,但是,请不要花太多时间手动滚动您自己的复杂解决方案,我宁愿自己做也不愿浪费您的时间;)只是询问它是否在标准中。
编辑:这是我的第一次尝试:
import Data.List (findIndices)
replace i y xs = take i xs ++ y : drop (i+1) xs
magicFunction x y xs = map (\i -> replace i y xs) (findIndices (== x) xs)
可以改进吗?replace
当然,标准中必须有类似的东西吗?我在replace :: Eq a => a -> a -> [a] -> [a]
中找到Network.CGI.Protocol
,但它的签名错误。