Collections.Seq モジュール (F#)

列挙可能なシーケンスに対する基本操作。

名前空間/モジュール パス: Microsoft.FSharp.Collections

アセンブリ: FSharp.Core (FSharp.Core.dll 内)

module Seq

解説

F# のシーケンスの概要については、「シーケンス (F#)」を参照してください。

Values

説明

append : seq<'T> -> seq<'T> -> seq<'T>

指定された 2 つの列挙体を、1 つの連結された列挙体としてラップします。

average : seq<^T> -> ^T

シーケンス内の要素の平均を返します。

averageBy : ('T -> ^U) -> seq<'T> -> ^U

シーケンスの各要素に関数を適用することで生成された結果の平均を返します。

cache : seq<'T> -> seq<'T>

入力シーケンスのキャッシュされたバージョンに対応するシーケンスを返します。

cast : IEnumerable -> seq<'T>

弱く型指定された System.Collections シーケンスを、型指定されたシーケンスとしてラップします。

choose : ('T -> 'U option) -> seq<'T> -> seq<'U>

指定された関数をリストの各要素に適用します。関数が Some を返す各要素の結果から構成されるリストを返します。

collect : ('T -> 'Collection) -> seq<'T> -> seq<'U>

指定された関数をシーケンスの各要素に適用し、すべての結果を連結します。

compareWith : ('T -> 'T -> int) -> seq<'T> -> seq<'T> -> int

指定された比較関数を使用して、要素ごとに 2 つのシーケンスを比較します。

concat : seq<'Collection> -> seq<'T>

指定された列挙体の列挙体を、1 つの連結された列挙体として結合します。

countBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * int>

シーケンスの各要素にキー生成関数を適用し、一意キーとなるシーケンスと、元のシーケンスでのそれぞれの出現回数を返します。

delay : (unit -> seq<'T>) -> seq<'T>

指定したシーケンスの遅延指定から作成されたシーケンスを返します。

distinct : seq<'T> -> seq<'T>

エントリの汎用ハッシュと等価比較に従って、重複するエントリを含まないシーケンスを返します。要素がシーケンス内に複数回出現する場合、2 回目以降の要素は破棄されます。

distinctBy : ('T -> 'Key) -> seq<'T> -> seq<'T>

指定されたキー生成関数によって返されるキーの汎用ハッシュと等価比較に従って、重複するエントリを含まないシーケンスを返します。要素がシーケンス内に複数回出現する場合、2 回目以降の要素は破棄されます。

empty : seq<'T>

空のシーケンスを作成します。

exactlyOne : seq<'T> -> 'T

シーケンスの唯一の要素を返します。

exists : ('T -> bool) -> seq<'T> -> bool

シーケンスのいずれかの要素が、指定された述語を満たすかどうかをテストします。

exists2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool

入力シーケンスの対応する要素のペアが、指定された述語を満たすかどうかをテストします。

filter : ('T -> bool) -> seq<'T> -> seq<'T>

指定した述語が true を返すコレクションの要素のみを含む新しいコレクションを返します。

find : ('T -> bool) -> seq<'T> -> 'T

指定した関数が true を返す最初の要素を返します。

findIndex : ('T -> bool) -> seq<'T> -> int

指定した関数が true を返す最初の要素のインデックスを返します。

fold : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> 'State

計算にアキュムレータ引数を使用しながら、コレクションの各要素に関数を適用します。入力関数が f で、要素が i0...iN, の場合は、f (... (f s i0)...) iN を計算します。

forall : ('T -> bool) -> seq<'T> -> bool

シーケンスのすべての要素が、指定された述語を満たすかどうかをテストします。

forall2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool

2 つのシーケンスから取り出したすべての要素ペアが、指定された述語を満たすかどうかをテストします。一方のシーケンスが他方より短い場合、長い方のシーケンスの残りの要素は無視されます。

groupBy : ('T -> 'Key) -> seq<'T> -> seq<'Key * seq<'T>>

シーケンスの各要素にキー生成関数を適用し、一意キーのシーケンスを生成します。各一意キーには、そのキーと一致するすべての要素のシーケンスも格納されます。

head : seq<'T> -> 'T

シーケンスの最初の要素を返します。

init : int -> (int -> 'T) -> seq<'T>

新しいシーケンスを生成します。このシーケンスが反復処理されると、指定した関数が指定した回数まで呼び出され、連続する要素が返されます。この関数の呼び出しの結果は保存されません。つまり、要素を再生成するために、必要に応じて関数が再度適用されます。関数には、生成されている項目のインデックスが渡されます。

initInfinite : (int -> 'T) -> seq<'T>

新しいシーケンスを生成します。このシーケンスが反復処理されると、指定した関数が呼び出され、連続する要素が返されます。この関数の呼び出しの結果は保存されません。つまり、要素を再生成するために、必要に応じて関数が再度適用されます。関数には、生成されている項目のインデックスが渡されます。

isEmpty : seq<'T> -> bool

シーケンスに要素が含まれているかどうかをテストします。

iter : ('T -> unit) -> seq<'T> -> unit

指定された関数をコレクションの各要素に適用します。

iter2 : ('T1 -> 'T2 -> unit) -> seq<'T1> -> seq<'T2> -> unit

指定された関数を 2 つのコレクションに同時に適用します。一方のシーケンスが他方より短い場合、長い方のシーケンスの残りの要素は無視されます。

iteri : (int -> 'T -> unit) -> seq<'T> -> unit

指定された関数をコレクションの各要素に適用します。関数に渡される整数は、要素のインデックスを示します。

last : seq<'T> -> 'T

シーケンスの最後の要素を返します。

length : seq<'T> -> int

シーケンスの長さを返します。

map : ('T -> 'U) -> seq<'T> -> seq<'U>

指定された関数をコレクションの各要素に適用し、その結果を要素として持つ新しいコレクションを作成します。オブジェクトから取得された列挙子の MoveNext メソッドが使用されて要素が要求されるたびに、指定された関数が適用されます。

map2 : ('T1 -> 'T2 -> 'U) -> seq<'T1> -> seq<'T2> -> seq<'U>

指定された関数を 2 つのシーケンスの対応する要素のペアに適用し、その結果を要素として持つ新しいコレクションを作成します。一方の入力シーケンスが他方より短い場合、長い方のシーケンスの残りの要素は無視されます。

mapi : (int -> 'T -> 'U) -> seq<'T> -> seq<'U>

指定された関数をコレクションの各要素に適用し、その結果を要素として持つ新しいコレクションを作成します。関数に渡される整数のインデックスは、変換されている要素の (0 から始まる) インデックスを示します。

max : seq<'T> -> 'T

シーケンスのすべての要素から最大の要素を返します。比較には Operators.max を使用します。

maxBy : ('T -> 'U) -> seq<'T> -> 'T

Operators.max を使用して関数の結果を比較することで、シーケンスのすべての要素から最大の要素を返します。

min : seq<'T> -> 'T

シーケンスのすべての要素から最小の要素を返します。比較には Operators.min を使用します。

minBy : ('T -> 'U) -> seq<'T> -> 'T

Operators.min を使用して関数の結果を比較することで、シーケンスのすべての要素から最小の要素を返します。

nth : int -> seq<'T> -> 'T

コレクションの n 番目の要素を計算します。

ofArray : 'T array -> seq<'T>

指定された配列をシーケンスとして表します。

ofList : 'T list -> seq<'T>

指定されたリストをシーケンスとして表します。

pairwise : seq<'T> -> seq<'T * 'T>

入力シーケンス内の各要素を、その先行要素と組み合わせたシーケンスを返します。ただし、最初の要素は 2 番目の要素の先行要素としてしか返されません。

pick : ('T -> 'U option) -> seq<'T> -> 'U

指定した関数を一連の要素に適用し、関数が Some 値を返す最初の値を返します。

readonly : seq<'T> -> seq<'T>

指定したシーケンス オブジェクトに処理を代行させる新しいシーケンス オブジェクトを作成します。これにより、元のシーケンスが型キャストで再検出されて変更されることがなくなります。たとえば、配列を指定した場合、返されたシーケンスは配列の要素を返しますが、返されたシーケンス オブジェクトを配列にキャストすることはできません。

reduce : ('T -> 'T -> 'T) -> seq<'T> -> 'T

計算にアキュムレータ引数を使用しながら、シーケンスの各要素に関数を適用します。まず、最初の 2 つの要素に関数を適用します。次に、この結果を 3 番目の要素と共に関数に渡します。それ以降も同様に繰り返します。最終結果を返します。

scan : ('State -> 'T -> 'State) -> 'State -> seq<'T> -> seq<'State>

Seq.fold と同様ですが、オンデマンドで計算を行い、中間結果と最終結果のシーケンスを返します。

singleton : 'T -> seq<'T>

項目を 1 つだけ生成するシーケンスを返します。

skip : int -> seq<'T> -> seq<'T>

基になるシーケンスの指定された数の要素をスキップし、シーケンスの残りの要素を格納するシーケンスを返します。

skipWhile : ('T -> bool) -> seq<'T> -> seq<'T>

シーケンスを返します。このシーケンスが反復処理されると、指定した述語が true を返す間、基になるシーケンスの要素がスキップされ、その後でシーケンスの残りの要素が取得されます。

sort : seq<'T> -> seq<'T>

キー順に並べ替えられたシーケンスを生成します。

sortBy: ('T -> 'Key) -> seq<'T> -> seq<'T>

シーケンスの各要素にキー生成関数を適用し、キー順に並べ替えられたシーケンスを生成します。キーの比較は、Operators.compare で実装される汎用的な比較を使用して行われます。

sum : seq<^T> -> ^T

シーケンス内の要素の合計を返します。

sumBy

シーケンスの各要素に関数を適用することで生成された結果の合計を返します。

take : int -> seq<'T> -> seq<'T>

指定された数までシーケンスの最初の要素を返します。

takeWhile : ('T -> bool) -> seq<'T> -> seq<'T>

シーケンスを返します。このシーケンスが反復処理されると、指定した述語が true を返す間、基になるシーケンスの要素が取得されます。それ以上の要素は返されません。

toArray : seq<'T> -> 'T []

指定されたコレクションから配列を作成します。

toList : seq<'T> -> 'T list

指定されたコレクションからリストを作成します。

truncate : int -> seq<'T> -> seq<'T>

列挙時に指定された数以下の要素を返すシーケンスを返します。

tryFind : ('T -> bool) -> seq<'T> -> 'T option

指定された関数が true を返す最初の要素を返します。そのような要素が存在しない場合は、None を返します。

tryFindIndex : ('T -> bool) -> seq<'T> -> int option

指定された述語を満たすシーケンス内の最初の要素のインデックスを返します。そのような要素が存在しない場合は、None を返します。

tryPick : ('T -> 'U option) -> seq<'T> -> 'U option

指定した関数を一連の要素に適用し、関数が Some 値を返す最初の値を返します。

unfold : ('State -> 'T * 'State option) -> 'State -> seq<'T>

指定した計算によって生成された要素を含むシーケンスを返します。

where : ('T -> bool) -> seq<'T> -> seq<'T>

指定した述語が true を返すコレクションの要素のみを含む新しいコレクションを返します。Seq.filterのシノニム。

windowed : int -> seq<'T> -> seq<'T []>

入力シーケンスから取得されたコンテナー要素のスライド式ウィンドウを生成するシーケンスを返します。各ウィンドウは、新しい配列として返されます。

zip : seq<'T1> -> seq<'T2> -> seq<'T1 * 'T2>

2 つのシーケンスをペアのリストに結合します。2 つのシーケンスを同じ長さにする必要はありません。1 つのシーケンスが終わりに達した場合、もう 1 つのシーケンスに残っている要素は無視されます。

zip3 : seq<'T1> -> seq<'T2> -> seq<'T3> -> seq<'T1 * 'T2 * 'T3>

3 つのシーケンスを 3 要素の組のリストに結合します。各シーケンスを同じ長さにする必要はありません。1 つのシーケンスの終わりに達した場合、他のシーケンスに残っている要素は無視されます。

プラットフォーム

Windows 8、Windows 7、Windows Server 2012 で Windows Server 2008 R2

バージョン情報

F# コア ライブラリのバージョン

サポート: ポータブル 2.0、4.0

参照

関連項目

Microsoft.FSharp.Collections 名前空間 (F#)

シーケンス (F#)

Collections.seq<'T> 型略称 (F#)