SG

F# で LINQ 入門 Distinct

 入門と銘打ってますが、入門しているのはわたしです。Distinct メソッドでは、シーケンス内から重複した要素を取り除いたシーケンスを取得します。

open System.Linq

let cart = [ "TaPL", 6119;
             "SICP", 4830; 
             "TaPL", 6220;
             "SICP", 4830; 
             "TaPL", 6119;]

cart.Distinct()
|> Seq.iter (function | name, price -> printfn "%s を %d円で購入します" name price)

 実行結果

TaPL6119円で購入します
SICP4830円で購入します
TaPL6220円で購入します

val cart : (string * int) list =
  [("TaPL", 6119); ("SICP", 4830); ("TaPL", 6220); ("SICP", 4830);
   ("TaPL", 6119)]

 TaPL や SICP を読めるようなレベルになりたいですね。頑張ろう。まず英語が駄目駄目なんですけども。