文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Supporting Types   >   UnfoldSequence   >   elementsEqual(_:by:)
汎用インスタンスメソッド
elementsEqual(_:by:)
与えられた predicate (述語) を等価テストとして使用して、このシーケンスと別のシーケンスに同じ順序で同じ要素が含まれているかどうかを示すブール値を返します。
宣言
func elementsEqual<OtherSequence>(_ other: OtherSequence, by areEquivalent: ((offset: Int, element: Base.Element), OtherSequence.Element) throws -> Bool) rethrows -> Bool where OtherSequence : Sequence
パラメータ
other | このシーケンスと比較すべきシーケンス。 |
areEquivalent | その 2 つの引数が等しい場合に true を返す predicate (述語)。それ以外の場合 false。 |
戻り値
等価なテストとして areEquivalent を使用して、このシーケンスと other が同等の項目を含む場合は true。それ以外の場合は false。
議論
少なくとも 1 つのシーケンスは有限でなければなりません。
predicate (述語) は、要素に対して 等価関係 でなければなりません。つまり、任意の要素 a、b、 および c に対して、以下の条件が成り立たなければなりません。
複雑さ:O(m)、ここで m はシーケンスの長さと other の長さの小さい方です。
- areEquivalent(a, a) は常に true です。(再帰性)
- areEquivalent(a, b) は areEquivalent(b, a) を意味します。(対称性)
- もし areEquivalent(a, b) と areEquivalent(b, c) が共に true の場合, areEquivalent(a, c) もまた trueです。(推移性)
関連
汎用の制約
OtherSequence : Sequence