我正在学习f#,但遇到了一个琐碎的小问题,似乎没有道理。我正在研究Euler项目问题2,并且已经知道了这一点:
let fib (x : BigInteger) (y : BigInteger) (max : BigInteger) =
let added = x + y
if added > max then y
else fib y (x + y) max
我在递归fib调用中遇到了错误:
我不确定为什么。有什么帮助吗?
最佳答案
因为fib
是递归函数,所以它必须以let rec
开头。
关于f# - 值或构造函数未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9643092/