我刚刚开始使用 F#,并且正在尝试 Problem Euler 问题 #3。为了找到素数,我想出了以下代码来计算所有素数,直到最大数:
let rec allPrimes foundPrimes, current, max =
// make sure the current number isn't too high
// or the current number isn't divisible by any known primes
if current >= max then
foundPrimes
else
let nextValue = current + 1
if not List.exists (fun x -> current % x = 0L) foundPrimes then
allPrimes foundPrimes nextValue max
else
allPrimes (foundPrimes :: current) nextValue max
不幸的是,这给出了错误:
'let rec' 结构中只能绑定简单的变量模式
为什么我会收到此错误?