2017-05-07 20 views
0

これは本当に簡単な質問かもしれないので、私はちょうどhaskellを学び始めました。しかし、ここにあります: 私は文字列、文字Cと数字Nを持っています。 Nで区切られた文字列の位置から文字Cをすべての文字に置き換える関数を書く。 リストの理解と基本関数またはライブラリ関数のみを使用する必要があります。ハスケルは文字列の特定の文字を置き換えます

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

だから、あなたはハスケルを最初から教えてくれる人を欲しがっていますか?それはあまりにも広いです。 – 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と書く必要があります。

関連する問題