これは2週間前の私たちの宿題の0ポイントの質問でしたので、宿題のように見える場合は反転しないでください。 これは、別の文字列内のString(その順序で)を見つけることです。単語の一部が見つかりません
isPart:: Eq a => [a] -> [a] -> Bool
isPart [] _ = True
isPart _ [] = False
isPart (x:xs) (y:ys)
| x == y = moveone xs ys
| otherwise = isPart (x:xs) ys
moveone:: Eq a => [a] -> [a] -> Bool
moveone [] _ = True
moveone (x:xs) (y:ys)
| x == y = moveone xs ys
| otherwise = isPart (x:xs) ys
ので、私は「家」「ツリーハウス」それは本当でなければなりませんが、それは私がisPart入力する必要がない場合、「家」を「Treheouse」
私は問題を抱えていますisPartを入力する場合に一度Charがmoveoneのリストから削除されていることがわかるので、hが見つかると関数は "ouse"だけを探します。
私は文字列を保存して元に戻すことはできません。それを解決しないでください、単に私にアイデアを与えてください。