文書   >   Swift   >  String   >   lexicographicallyPrecedes(_:by:)
汎用インスタンスメソッド
lexicographicallyPrecedes(_:by:)
与えられた述語 (predicate) を使用して要素を比較し、シーケンスが辞書順で別のシーケンスの前にあるかどうかを示すブール値を返します。
宣言
パラメータ
other | このシーケンスと比較すべきシーケンス。 |
areInIncreasingOrder | areInIncreasingOrderによって順序付けられたとおりに、この順序が辞書順でotherに先行する場合はtrue、 そうでなければ、偽です。 |
戻り値
areInIncreasingOrder によって順序付けられたとおりに、このシーケンスが辞書順で other に先行する場合は true、そうでなければ、false。
議論
述語 (predicate) は、要素に対して 厳密に弱い順序付け でなければなりません。つまり、任意の要素 a、b、および c について、以下の条件が成り立たなければなりません。
このメソッドは、Unicode とは無関係の辞書の順序付けの数学的概念を実装しています。エンドユーザーに提示するために文字列を並べ替える場合は、ローカライズされた比較を実行する String のAPI を使用します。
複雑さ: O(m)、ここで m はシーケンスの長さと other の長さのうち少ない方です。
- areInIncreasingOrder(a,a) は常に false です。(反射性)
- areInIncreasingOrder(a,b) と areInIncreasingOrder(b,c) が両方とも true の場合、areInIncreasingOrder(a,c) も true です。(推移性)
- 2 つの要素は、どちらも述語 (predicate) に従って他の要素の前に順序付けされていない場合、比較不可能 です。a と b が比較不可能で、b と c が比較不可能である場合、a と c も比較不可能です。(推移比較不可能)
以下も見よ
文字の比較
func elementsEqual<OtherSequence>(OtherSequence) -> Bool
このシーケンスと別のシーケンスに同じ要素が同じ順序で含まれているかどうかを示すブール値を返します。
与えられた述語 (predicate) を等価テストとして使用して、このシーケンスと他のシーケンスが同じ順序で等価な要素を含むかどうかを示すブール値を返します。
func starts<PossiblePrefix>(with: PossiblePrefix) -> Bool
シーケンスの最初の要素が別のシーケンスの要素と同じかどうかを示すブール値を返します。
等価テストとして与えられた述語 (predicate) を使用して、シーケンスの最初の要素が別のシーケンスの要素と等しいかどうかを示すブール値を返します。
func lexicographicallyPrecedes%ltOtherSequence>(OtherSequence) -> Bool
要素を比較するために小なり演算子 (<) を使用して、シーケンスが辞書順で別のシーケンスの前にあるかどうかを示すブール値を返します。