4

F#にfloatのシーケンスがあり、のシーケンスを定義する必要があり(Math.Log currentElement)/(Math.Log previousElement)ます。明らかに、元のシーケンスより1要素短くなります。

F#でこれを実現するための最もエレガントな方法は何ですか?内部にforループがあるseq{}式を使用することを考えていましたが、それでも最初の要素をかなり適切な方法で処理するのは難しいようです...

4

2 に答える 2

9
items |> Seq.pairwise |> Seq.map (fun (x, y) -> log y / log x)
于 2012-08-28T14:09:49.357 に答える
0

または、必要に応じて:

let f (x, y) = (log y) / (log x)

let ans = s |> Seq.pairwise |> Seq.map f
于 2012-08-28T21:11:26.710 に答える