Generic Structure

Range 範囲

A half-open interval from a lower bound up to, but not including, an upper bound. 下側の境界から、上側の境界まで、しかしそれを含んでいない、半開間隔。

Declaration 宣言

@frozen struct Range<Bound> where Bound : Comparable

Overview 概要

You create a Range instance by using the half-open range operator (..<). あなたは、Rangeインスタンスを、半開範囲演算子(..<)を使うことで作成します。


let underFive = 0.0..<5.0

You can use a Range instance to quickly check if a value is contained in a particular range of values. For example: あなたはRangeインスタンスを使うことで、ある値が特定の範囲に属するいくつかの値の中に含まれているかどうか素早く調べることができます。例えば:


underFive.contains(3.14)
// true
underFive.contains(6.28)
// false
underFive.contains(5.0)
// false

Range instances can represent an empty interval, unlike ClosedRange. Rangeインスタンスは、空の間隔を表すことができます、ClosedRangeとは違って。


let empty = 0.0..<0.0
empty.contains(0.0)
// false
empty.isEmpty
// true

Using a Range as a Collection of Consecutive Values 範囲を隣接値のコレクションとして使用する

When a range uses integers as its lower and upper bounds, or any other type that conforms to the Strideable protocol with an integer stride, you can use that range in a for-in loop or with any sequence or collection method. The elements of the range are the consecutive values from its lower bound up to, but not including, its upper bound. ある範囲がそれの下側および上側の境界として整数を使う、または整数歩幅を使うStrideableプロトコルに準拠する何らかの他の型を使う場合、あなたはその範囲をfor-inループにおいて、または何らかのシーケンスまたはコレクションのメソッドで使用できます。範囲の要素は、それの下側の境界から、それの上側の境界までしかしそれを含まない、隣接値です。


for n in 3..<5 {
    print(n)
}
// Prints "3"
// Prints "4"

Because floating-point types such as Float and Double are their own Stride types, they cannot be used as the bounds of a countable range. If you need to iterate over consecutive floating-point values, see the stride(from:to:by:) function. 浮動小数点型、例えばFloatおよびDoubleは、それら独自のStride型であるので、それらは可付番範囲の境界として使われることはできません。あなたが隣接浮動小数点値のすべてにわたって反復する必要があるならば、stride(from:to:by:)関数を見てください。

Topics 話題

Creating a Range 範囲を作成する

Create a new range using the half-open range operator (..<). 新しい範囲を半開範囲演算子(..<)を使って作成します。

Converting Ranges 範囲を変換する

Inspecting a Range 範囲を調査する

Checking for Containment 制約を調べる

Clamping a Range 範囲を固定する

Working with Foundation Ranges Foundation Rangeを扱う

Comparing Ranges 範囲の比較

Manipulating Indices インデックスを操る

Describing a Range 範囲を記述する

Encoding and Decoding a Range ある範囲を符号化そして復号する

Infrequently Used Functionality 滅多に使われない機能性

Initializers イニシャライザ

Instance Methods インスタンスメソッド

Relationships 関係

Conforms To 次に準拠

See Also 参照

Ranges さまざまな範囲