文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Range   >   elementsEqual(_:by:)
汎用インスタンスメソッド
elementsEqual(_:by:)
与えられた predicate (述語) を等価テストとして使用して、このシーケンスと別のシーケンスに同じ順序で同じ要素が含まれているかどうかを示すブール値を返します。
宣言
func elementsEqual<OtherSequence>(_ other: OtherSequence, by areEquivalent: (Bound, OtherSequence.Element) throws -> Bool) rethrows -> Bool where OtherSequence : Sequence
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に利用可能です。
パラメータ
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 です。(推移性)
以下も見よ
Range を Collection と比較
func elementsEqual<OtherSequence>(OtherSequence) -> Bool
このシーケンスと別のシーケンスに同じ要素が同じ順序で含まれているかどうかを示すブール値を返します。
Element が Equatable に準拠する場合利用可能です。
func lexicographicallyPrecedes<OtherSequence>(OtherSequence) -> Bool
要素を比較するために小なり演算子 (<) を使用して、シーケンスの順序を辞書の順序で別のシーケンスの前にあるかどうかを示すブール値を返します。
Element が Comparable に準拠している場合利用可能。
与えられた predicate (述語) を使用して要素を比較して、辞書の順序でシーケンスが別のシーケンスの前にあるかどうかを示すブール値を返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func starts<PossiblePrefix>(with: PossiblePrefix) -> Bool
シーケンスの最初の要素が別のシーケンスの要素と同じかどうかを示すブール値を返します。
Element が Equatable に準拠する場合利用可能です。
与えられた predicate (述語) を等価テストとして使用して、シーケンスの最初の要素が別のシーケンスの要素と等しいかどうかを示すブール値を返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。