我正在尝试使用Seq.cache和我所做的函数,它返回一个数字序列,直到数字N,不包括数字1.我无法弄清楚如何将缓存序列保留在范围内但仍然使用它在我的定义中.
let rec primesNot1 n =
{2 .. n}
|> Seq.filter (fun i ->
(primesNot1 (i / 2) |> Seq.for_all (fun o -> i % o <> 0)))
|> Seq.append {2 .. 2}
|> Seq.cache
Run Code Online (Sandbox Code Playgroud)
有关如何使用Seq.cache来加快速度的任何想法?目前它不断从范围中退出,只会降低性能.