我在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
。
我在这里做错了什么?我正在学习的网站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.
我已经尝试查找此错误,因为它看起来很常见,但我似乎无法解决这个看似简单的问题。任何帮助表示赞赏!