次の方法で共有


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 番目の入力シーケンス。

例外

例外

状態

ArgumentNullException

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

参照

関連項目

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

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