したがって、ユーザーが文字列に「いいえ」または「いいえ」を入力した場合、haskellで次のコードを検出しようとしました。また、[[Char]]をStringに置き換えようとしましたが、コンパイルエラーが発生します。Haskellの関数で文字列を渡しているときにエラーが発生しました
wantGifts :: [[Char]] -> [[Char]]
wantGifts st = [if (x == "No" || x== "no") then "No gifts given" else "But why" | x <- st, x == head st]
上記のコードはコンパイルが、私はそれに文字列を渡すとき、それはエラーメッセージを返します。
*Main> wantGifts "no I dont"
<interactive>:8:11:
Couldn't match type ‘Char’ with ‘[Char]’
Expected type: [[Char]]
Actual type: [Char]
In the first argument of ‘wantGifts’, namely ‘"no I dont"’
In the expression: wantGifts "no I dont"
In an equation for ‘it’: it = wantGifts "no I dont"
を誤差関数が(リストの一覧表示文字列のリストを見込んでいるという-of-chars)、あなたは1つも渡しません。 – chi