Seq.distinct<'T> 関数 (F#)
エントリの汎用ハッシュと等価比較に従って、重複するエントリを含まないシーケンスを返します。 要素がシーケンス内に複数回出現する場合、2 回目以降の要素は破棄されます。
名前空間/モジュール パス: Microsoft.FSharp.Collections.Seq
アセンブリ: FSharp.Core (FSharp.Core.dll 内)
// Signature:
Seq.distinct : seq<'T> -> seq<'T> (requires equality)
// Usage:
Seq.distinct source
パラメーター
source
型: seq<'T>入力シーケンス。
例外
例外 |
状態 |
---|---|
入力シーケンスが null の場合にスローされます。 |
戻り値
結果のシーケンス。
解説
この関数は、コンパイルされたアセンブリでは Distinct という名前です。 F# 以外の言語から、またはリフレクションを使用してこの関数にアクセスする場合は、この名前を使用します。
使用例
次の例は、Seq.distinct の使い方を示しています。 この例では、数値のバイナリ表現をシーケンスとして生成します。 その後、一意の数値が 0 と 1 だけであることを確認します。
let binary n =
let rec generateBinary n =
if (n / 2 = 0) then [n]
else (n % 2) :: generateBinary (n / 2)
generateBinary n |> List.rev |> Seq.ofList
printfn "%A" (binary 1024)
let resultSequence = Seq.distinct (binary 1024)
printfn "%A" resultSequence
プラットフォーム
Windows 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2
バージョン情報
F# ランタイム
サポート対象: 2.0、4.0
Silverlight
サポート: 3