文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Supporting Types   >  UnboundedRange_


列挙型


UnboundedRange_


コレクションの範囲全体を表す範囲式。





概要


無限範囲演算子 (...) を使用して、コレクションのすべての要素を含むコレクションのスライスを作成できます。無限の範囲でスライスすることは、基本的にコレクションのインスタンスをそのスライス型に変換することです。


たとえば、以下のコードでは、countLetterChanges(_:_:) を宣言し、この関数は、ある語句を別の語句に変更するために必要な変更の数を検出します。この関数は、再帰的アプローチを使用して、元の文字列のより小さい部分について同じ比較を実行します。countLetterChanges(_:_:) が、各ステップで文字列のコピーを作成せずに再帰を使用するためには、文字列のスライス型である Substring をそのパラメータとして使用します。



func countLetterChanges(_ s1: Substring, _ s2: Substring) -> Int {
    if s1.isEmpty { return s2.count }
    if s2.isEmpty { return s1.count }

    let cost = s1.first == s2.first ? 0 : 1

    return min(
        countLetterChanges(s1.dropFirst(), s2) + 1,
        countLetterChanges(s1, s2.dropFirst()) + 1,
        countLetterChanges(s1.dropFirst(), s2.dropFirst()) + cost)
}



countLetterChanges(_:_:) を 2 つの文字列で呼び出すには、各文字列の添え字に無限の範囲を使用します。



let word1 = "grizzly"
let word2 = "grisly"
let changes = countLetterChanges(word1[...], word2[...])
// changes == 2



トピックス





無限の範囲を作成





型エイリアス


以下も見よ





範囲の式





目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 9.0+

  • フレームワーク
  • Swift 標準ライブラリ
  • 概要
  • トピックス
  • 関連












  • トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)












    トップへ(Foundation)