Seq.exists2<'T1,'T2> 関数 (F#)
入力シーケンスの対応する要素のペアが、指定された述語を満たすかどうかをテストします。
名前空間/モジュール パス: Microsoft.FSharp.Collections.Seq
アセンブリ: FSharp.Core (FSharp.Core.dll 内)
// Signature:
Seq.exists2 : ('T1 -> 'T2 -> bool) -> seq<'T1> -> seq<'T2> -> bool
// Usage:
Seq.exists2 predicate source1 source2
パラメーター
predicate
型: 'T1 -> 'T2 ->bool入力シーケンスの項目の各ペアをテストする関数。
source1
型: seq<'T1>最初の入力シーケンス。
source2
型: seq<'T2>2 番目の入力シーケンス。
例外
例外 |
状態 |
---|---|
2 つの入力シーケンスのいずれかが null の場合にスローされます。 |
戻り値
述語は、長さが短い方のコレクションの終わりに達するまで、2 つのシーケンスの一致する要素に適用されます。いずれかの適用結果として true が返された場合、全体の結果は true になり、残りの要素はテストされません。それ以外の場合は、false が返されます。
解説
一方のシーケンスが他方より短い場合、長い方のシーケンスの残りの要素は無視されます。
この関数は、コンパイルされたアセンブリでは Exists2 という名前です。F# 以外の言語から、またはリフレクションを使用してこの関数にアクセスする場合は、この名前を使用します。
使用例
Seq.exists2 を使用する方法を次のコード例に示します。
// Use Seq.exists2 to compare elements in two sequences.
// isEqualElement returns true if any elements at the same position in two supplied
// sequences match.
let isEqualElement seq1 seq2 = Seq.exists2 (fun elem1 elem2 -> elem1 = elem2) seq1 seq2
let seq1to5 = seq { 1 .. 5 }
let seq5to1 = seq { 5 .. -1 .. 1 }
if (isEqualElement seq1to5 seq5to1) then
printfn "Sequences %A and %A have at least one equal element at the same position." seq1to5 seq5to1
else
printfn "Sequences %A and %A do not have any equal elements that are at the same position." seq1to5 seq5to1
出力
プラットフォーム
Windows 8、Windows 7、Windows Server 2012 で Windows Server 2008 R2
バージョン情報
F# コア ライブラリのバージョン
サポート: ポータブル 2.0、4.0