所以过去几天我一直在玩 Haskell,我决定对斐波那契数列做一个基本定义。所以我写了这段代码:
main = do
fib :: (Integral a) => Int -> Int
fib x
| x == 0 = 0
| x == 1 = 1
| x >= 2 = fib (x - 2) + fib (x - 1)
do { print (fib 5) }
我收到一条错误消息:
4:17: parse error on input `|'
我怀疑标签错误,所以我尝试了我能找到的所有空格修复,但我就是找不到问题所在!
编辑:所以我按照人们的建议做了,现在我有这个代码:
fib :: (Integral a) => Int -> Int
main = do
fib x
| x == 0 = 0
| x == 1 = 1
| x >= 2 = fib (x - 2) + fib (x - 1)
print (fib 5)
我得到了同样的错误。