F# で LINQ 入門 Max Min Sum Average
集計関数は簡単なので一気に紹介してしまいます。Max は最大値、Min は最小値、Sum は合計値、Average は平均値を集計して返します。List モジュールにも同様のメソッドがありますが、F# のために実装された List モジュールは LINQ よりも型に対して厳しいチェックが行われます。下記の例では、List.average 関数を使用する場合、int list 型ではコンパイルエラーとなってしまいます。
open System.Linq let target = [ 1..10 ] let max = target.Max() let min = target.Min() let sum = target.Sum() let ave = target.Average() let max' = List.max target let min' = List.min target let sum' = List.sum target // 型 'int' は 'DivideByInt' という演算子をサポートしていません // let ave' = List.average target let ave' = target |> List.map float |> List.average
実行結果
val target : int list = [1; 2; 3; 4; 5; 6; 7; 8; 9; 10] val max : int = 10 val min : int = 1 val sum : int = 55 val ave : float = 5.5 val max' : int = 10 val min' : int = 1 val sum' : int = 55 val ave' : float = 5.5