美好的一天。创建序列(可能是有限的)或通过以下公式列出的最佳方法是什么?
例如,从1到9
1,2,4,5,10,11,22,23,46
我认为可以在其中使用List.fold或List.scan,但是我不知道在哪里写yield。
您可以使用可变值和for循环来实现。或者,可以使用unfold:
unfold
Seq.unfold (fun (a,i) -> let a' = if i % 2 = 0 then a*2 else a+1 Some (a', (a',i+1))) (1,1) |> Seq.append [1]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
点击生成二维码
我来说两句