やあみんな、私は単語のリストを取り、それと同じようにリストを返すと思いますが、連続した単語として表示されるたびに次の置換が行われます。
一例はyou
、それをに変換することですu
私は次のものを与えられます:
hep :: [Word] -> [Word]
type Word = String
今私に問題を与えているのは、コードを繰り返す必要がないようにケース式を使用しようとしていることですが、次のエラーが発生します
Couldn't match expected type `Char' with actual type `[Char]'
In the pattern: "You"
In a case alternative: "You" -> "u" : hep xs
In the expression: case a of { "You" -> "u" : hep xs }
次のコードから
hep [] = []
hep [a:xs] = case a of
"You" -> "u":hep xs
誰かが問題が何であるか教えてくれますか?
編集:
次のコードを追加しました
hep [] = [[]]
hep (a:xs) = case a of
"you" -> "u":hep xs
"are" -> "r":hep xs
"your" -> "ur":hep xs
"boyfriend" -> "bf":hep xs
"girlfriend" -> "gf":hep xs
"great" -> "gr8":hep xs
a -> a:hep xs
リストに2つまたは3つの特定の単語が順番に含まれている場合に、それを頭字語に変換できるように、ケースを追加するにはどうすればよいでしょうか。
元
["By","The","way"] = ["btw"]