for i in a..b do
res <- res * myarray.[i]
res
Run Code Online (Sandbox Code Playgroud)
我必须使用喜欢
Array.fold (*) 1 (Array.sub myarray a (b - a + 1))
Run Code Online (Sandbox Code Playgroud)
,我认为这是相当慢,而不是那么简洁?
不知道你是否会发现它更好,但你可以这样做:
Seq.fold (fun r i -> r * myarray.[i]) 1 {a .. b}
Run Code Online (Sandbox Code Playgroud)