0

の最初の関数の後に複数の関数を宣言するのに問題がありwhereます。

私が修正しようとしている私の機能:

--initials function using where and pattern matching
initials :: String -> String -> String
initials firstname lastname = [f] ++ ". " ++ [l] ++ "."
    where (f:_) = firstname
          (l:_) = lastname

ファイルghci:l functionSyntax名前がfunctionSyntax.hs.

ここで何が間違っていますか?私が Haskell を学んでいるサイトLearnYouaHaskellのコードは次のように書かれています。

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

これはまったく同じコードだと思いますが、エラーが表示されます:

ghci> :l functionSyntax
[1 of 1] Compiling Main             ( functionSyntax.hs, interpreted )

functionSyntax.hs:86:31: parse error on input `='
Failed, modules loaded: none.

このエラーはかなり一般的なように見えるので調べてみましたが、この一見単純な問題を修正できないようです。どんな助けでも大歓迎です!

4

0 に答える 0