我有这个序列:
let wheel235 = [4; 2; 4; 2; 4; 6; 2; 6]
let wheel = seq { while true yield! wheel235 }
Run Code Online (Sandbox Code Playgroud)
我想建立一个以特定数字开头的第二个序列,该序列中的每个后续数字都是前一个数字,并且轮子序列中的下一个项目被添加到它.所以,如果我在5开始序列,我将有5,9,11,15,17,21,27等...
我无法完全理解如何去做.
对于那些熟悉它的人来说,它显然是素数生成的一个数字轮,但我不认为知道这对答案很重要.:)
你可以这样做Seq.scan:
let wheel235 = [4; 2; 4; 2; 4; 6; 2; 6]
let wheel = seq { while true do yield! wheel235 }
let result = wheel |> Seq.scan (+) 5
# result will be 5, 9, 11, 15, 17, 21, 27, etc
Run Code Online (Sandbox Code Playgroud)