> 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
が、署名が間違っています。