汎用インスタンスメソッド


lexicographicallyPrecedes(_:by:)


要素を比較するために、与えられた述語を使用して、辞書編集順序でシーケンスが別のシーケンスより前にあるかどうかを示すブール値を返します。


iOS 15.0+ iPadOS 15.0+ macOS 12.0+ Mac Catalyst 15.0+

tvOS 15.0+ watchOS 8.0+ visionOS 1.0+ Xcode 13.0+

func lexicographicallyPrecedes<OtherSequence>(
_ other: OtherSequence,
by areInIncreasingOrder: (Character, Character) throws -> Bool
) rethrows -> Bool where OtherSequence : Sequence, Character == OtherSequence.Element





パラメータ


other

このシーケンスと比較すべきシーケンス。


areInIncreasingOrder

最初の引数が 2 番目の引数の前に順序付けされるべき場合に true を返す述語。それ以外の場合は false



戻り値


このシーケンスが、areInIncreasingOrder により辞書の順序に従って辞書内で other に先行する場合は true。それ以外の場合は false



議論


述語は、要素に対する 厳密な弱い順序付け でなければなりません。つまり、任意の要素 a、b、c については、以下の条件が満たされなければなりません。


注意


このメソッドは、Unicode とは関係のない、辞書編集的な順序付けの数学的概念を実装します。エンドユーザに提示するために文字列を並べ替える場合は、その代わりにローカライズされた比較を実行する String API を使用します。



複雑さ: O(m)、ここで m はシーケンスの長さと other の長さの小さい方です。


  • areInIncreasingOrder(a, a) は常に false です。 (非再帰性)

  • areInIncreasingOrder(a, b)areInIncreasingOrder(b, c) が両方とも true の場合、areInIncreeasingOrder(a, c)true です。 (推移的比較可能性)

  • 2 つの要素は、どちらも述語に従って他方より前に順序付けされていない場合、比較できませんab が比較不可能で、bc も比較不可能な場合、ac も比較不可能です。(推移的比較不可能性)














  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ