0
initials :: String -> String -> String
initials firstname lastname = [f] ++ ". " ++ [l] ++ "."
    where (f:_) = firstname
          (l:_) = lastname 

このコードの場合。エラーが発生しました

parse error on input `='

なんで?

4

2 に答える 2

4

whereキーワードの前にタブ文字を使用します。GHC には次のように表示されます。

␉       where␠(f:_)␠=␠firstname
␠␠␠␠␠␠␠␠␠(l:_)␠=␠lastname 

そのため、GHC は、ブロックの最初の行がwhere14 列目 (タブは 8 列の iirc) から始まり、2 番目の行は 9 列目から始まると見なし、エラーが発生します。

タブを 4 つのスペースに変換する優れたテキスト エディターを使用する必要があります。

于 2012-05-06T01:39:26.247 に答える