在我为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.
我试过查找这个错误,因为它看起来很常见,但我似乎无法解决这个看似简单的问题。任何帮助表示赞赏!