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


汎用構造体


PartialRangeFrom


下限から上に延びる部分区間。





概観


postfix 範囲演算子 (postfix...) を使用して PartialRangeFrom インスタンスを作成します。


let atLeastFive = 5...


部分範囲を使用すると、値が特定の範囲の値に含まれているかどうかを素早く確認できます。例えば:


atLeastFive.contains(4)
// false
atLeastFive.contains(5)
// true
atLeastFive.contains(6)
// true


コレクションのインデックスの部分範囲を使用して、部分範囲の下限からコレクションの最後まで上がっていく範囲を表すことができます。


let numbers = [10, 20, 30, 40, 50, 60, 70]
print(numbers[3...])
// Prints "[40, 50, 60, 70]"


部分範囲をシーケンスとして使用する


部分範囲が整数を下限および上限として使用する場合、または Strideable なプロトコルに整数のストライドを適用する他の型を使用する場合は、その範囲を for-in ループまたはそれを必要としない有限なシーケンスのシーケンスメソッドで使用できます。部分範囲の要素は、その下限からの連続した値が無限に上向きに続きます。


func isTheMagicNumber(_ x: Int) -> Bool {
    return x == 3
}

for x in 1... {
    if isTheMagicNumber(x) {
        print("\(x) is the magic number!")
        break
    } else {
        print("\(x) wasn't it...")
    }
}
// "1 wasn't it..."
// "2 wasn't it..."
// "3 is the magic number!"


PartialRangeFrom シーケンスは無限に数え上げるため、map(_:)、filter(_:)、または suffix(_ :) など、返される前にシーケンス全体を読み取るメソッドを使用しないでください。prefix(_:)dropFirst(_:) など、アクセスする要素の数に上限を設定する操作を使用することは安全です。また保証できる操作は、あなたが知っているクロージャを渡すなど、最終的に真(true) を first(where:) に返すなど、限られます。


以下の例では、asciiTable シーケンスは、大文字 A の ASCII 値である 65 から始まる部分範囲を持つ alphabet 文字列の文字を一緒に圧縮することによって作成されます。2 つの圧縮シーケンスに対する反復は、 2 つのシーケンスの短い方と同じ長さに過ぎないため、alphabet の最後に反復が停止します。


let alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
let asciiTable = zip(65..., alphabet)
for (code, letter) in asciiTable {
    print(code, letter)
}
// "65 A"
// "66 B"
// "67 C"
// ...
// "89 Y"
// "90 Z"


インクリメント (増分) の動作は、Bound の型によって決まります。たとえば、シーケンスの次の値が Int.max を上回る時に、PartialRangeFrom<Int> トラップのインスタンスはトラップします。


トピックス





型エイリアス


typealias PartialRangeFrom.Element     Beta  





イニシャライザ


init(PartialRangeFrom<Bound>.Bound)





インスタンスプロパティ





インスタンスメソッド





演算子関数


static func ~= (PartialRangeFrom<Bound>, Bound) -> Bool





構造体


関連





汎用の制約


Bound : Comparable





以下に準拠


以下も見よ





範囲の式


ベータソフトウェア

このドキュメントには、開発中の API または技術に関する予備情報が含まれています。この情報は変更されることがあり、このドキュメントに従って実装されたソフトウェアは、最終的なオペレーティングシステムソフトウェアでテストする必要があります。

Apple のベータ版ソフトウェアの使用方法の詳細について学ぶ >






目次
Xcode 10 の新機能

  • SDK
  • Xcode 9.0+

  • フレームワーク
  • Swift 標準ライブラリ
  • 概観
  • トピックス
  • 関連
  • 以下も見よ












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)