2009-09-28 58 views

回答

6

您错过了else。您还需要一些额外的括号:

#light 
let rec fib n = 
    if n=0 || n=1 then 1 
    else n + fib (n-1) + fib (n-2) 
+1

作参考之用:如果没有括号,它读作(N)+(FIB N) - (1)+(FIB N) - (2)'。 – Chuck 2009-09-28 06:11:35

+0

@Chuck:是的,从'fib n'调用'fib n'导致无限递归结束于Stack Overflow ...; ^) – 2009-09-28 06:15:43

相关问题