J'ai essayé de faire une version itérative/récursive d'une fonction pour calculer le nombre n e de la suite de Fibonacci, mais je deviens parse error (possibly incorrect indentation)
. Pourquoi cela arrive-t-il? Le code J'utilise:Parse error dans la mise en œuvre simple, Haskell Fibonacci
fib n
| n < 2 = n
| otherwise = fibhelper 0 1 2 n
where fibhelper a b curr num
| curr == num = a + b
| curr < num = fibhelper b (a+b) (curr+1) num
Pour être clair, je suis en train de comprendre l'erreur - pourquoi ça se passe, comment elle devrait être corrigée - et ne pas essayer de mettre en œuvre efficacement fib
(je comprends le zipWith
populaire déjà implémenté here, par exemple).
Merci!
Heureusement, vous avez reçu une bonne réponse rapidement. S'il vous plaît, si vous le pouvez, assurez-vous de dire où le compilateur a placé l'erreur, pas seulement ce que l'erreur est. Une fois de plus, cependant, félicitations pour obtenir une réponse rapide et bonne. – BMeph