私は現在、Learn You a Haskell のオンライン版から Haskell を学んでおり、第 4 章: 関数の構文にいます。この本を読んでいる間、私はすべてのサンプル関数を逐語的にテキスト エディター (Notepad++) にコーディングし、GHCI で実行します。
私が行った最近の機能は、私を悩ませ始めています (第 4 章の Guards, Guards! セクションにあります)。
initials :: String -> String -> String
initials firstname lastname = [f] ++ "." ++ [l]
where (f:_) = firstname
(l:_) = lastname
これは私のコードであり、本に示されているコードでもあります。私が自分でそれを書くときはいつでも、GCHI は常に私に解析エラーを与えます。ただし、本からコピー/貼り付けすると機能します。面白いのは、違いがないということです。私は自分のコードをコピーして貼り付けましたが、文字通りそれらの間に違いはありませんでした。私はこれを数回行ったので、妄想ではないと確信しています。
なぜこうなった?どうすれば修正できますか?最初に調べたのですが、「where」の後の 2 つのステートメントを同じ列に揃える必要があることがわかりました。私はそれをやっています。まだ機能していません。