Generic Structure

ClosedRange

An interval from a lower bound up to, and including, an upper bound. 下側の境界から、上側の境界までの、そしてそれを含む、間隔。

Declaration 宣言

@frozen struct ClosedRange<Bound> where Bound : Comparable

Overview 概要

You create a ClosedRange instance by using the closed range operator (...). あなたは、ClosedRangeインスタンスを完結範囲演算子(...)を使って作成します。


let throughFive = 0...5

A ClosedRange instance contains both its lower bound and its upper bound. ClosedRangeインスタンスは、それの下側の境界とそれの上側の境界の両方を含みます。


throughFive.contains(3)
// true
throughFive.contains(10)
// false
throughFive.contains(5)
// true

Because a closed range includes its upper bound, a closed range whose lower bound is equal to the upper bound contains that value. Therefore, a ClosedRange instance cannot represent an empty range. 完結範囲はそれの上側の境界を含むことから、それの下側の境界が上側の境界と等しい完結範囲はその値を含みます。それゆえに、ClosedRangeインスタンスは空の範囲として表すことができません。


let zeroInclusive = 0...0
zeroInclusive.contains(0)
// true
zeroInclusive.isEmpty
// false

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

When a closed 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, and including, its upper bound. ある完結範囲がそれの下側および上側の境界として整数を使う、または整数歩幅を使うStrideableプロトコルに準拠する何らかの他の型を使う場合、あなたはその範囲をfor-inループにおいて、または何らかのシーケンスまたはコレクションのメソッドで使用できます。この範囲に属する要素は、それの下側の境界の値から上側の境界まで、そしてそれを含めての連続した値です。


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

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:through:by:) function. 浮動小数点型、例えばFloatおよびDoubleは、それら独自のStride型であるので、それらは可付番範囲の境界として使われることはできません。あなたが連続した不動小数点値にわたって反復適用していく必要があるならば、stride(from:through:by:)関数を見てください。

Topics 話題

Creating a Range 範囲を作成する

Create a new range using the closed range operator (...). 新しい範囲を完結範囲演算子(...)を使って作成します。

Converting Ranges 範囲を変換する

Inspecting a Range 範囲を調査する

Checking for Containment 制約を調べる

Clamping a Range 範囲を固定する

Comparing Ranges 範囲の比較

Manipulating Indices インデックスを操る

Describing a Range 範囲を記述する

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

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

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

Relationships 関係

Conforms To 次に準拠

See Also 参照

Ranges さまざまな範囲