ここ数日 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)
そして、私は同じエラーが発生しています。