私は頭を包み込もうとしてきましfold_left
たfold_right
。練習として、私は多くの関数を書き直し、知識を強化しようfold_left
としています。fold_right
たとえば、リストの平均を見つけるには、フォールドを使用してリストの合計と長さを計算します。
let sum_l xs = List.fold_left (fun x y -> x + y) 0 xs;;
let len_l xs = List.fold_left (fun x _ -> x + 1) 0 xs;;
そして、平均を見つけることに進みます。これが私の質問です。これらの値の両方を 1 つの単一にすることは可能fold_left
ですか? 匿名関数はどのように記述すればよいですか? ありがとう!