So habe ich in den letzten paar Tagen mit Haskell gespielt, und ich entschied, dass ich eine grundlegende Definition der Fibonacci-Sequenz machen würde. Also schrieb ich diesen Code:Haskell sagt, meine Wache hat einen Parse Error
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) }
Und ich erhalte eine Fehlermeldung, die besagt:
4:17: parse error on input `|'
I Tab Fehler vermutet wird, so habe ich versucht, alle Leerzeichen fix ich finden konnte, aber ich kann einfach nicht finden Was ist los mit dir!
EDIT: Also tat ich, was die Leute vorgeschlagen, und ich habe diesen Code jetzt:
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)
und ich bin der gleiche Fehler.
Beliebig Warum setzen Sie Typ-Signatur und Funktionsdefinition in den Do-Block? – jakubdaniel
Ich wusste nicht, was ich tat. – ThePhillipParadox