我有VS 11测试版,以下代码正常运行:
let rec fac x y =
if x = y then y
elif x % y = 0I then fac (x / y) y
else fac x / (y + 1I)
现在我安装了VS 2012 RC,我收到以下错误:
The type 'System.Numerics.BigInteger -> System.Numerics.BigInteger' is not compatible with the type 'System.Numerics.BigInteger'
代码不正确还是F#互动?这是F#3.0。
编辑:
实际上问题不在F#中,但在我的代码中,它应该是:
else fac x (y + 1I)
当我在VS 11工作时,我刚刚保存了错误的版本。
答案 0 :(得分:3)
fac
需要两个数字,所以当你有fac x
时,它不是一个数字,因此不能用数字来划分。