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