見出し画像

【Swift】範囲型(Range)の要約メモ

Swiftの範囲型(Range)の要約を書いてみます。

指定方法

最後の要素を含むか、含まないかで指定方法が違います。

// Playgroundにそのまま貼り付けて実行できます

// CountableRange型=最後の要素を含まない
for i in 0..<3 {
   print(i) // 0,1,2
}

// CountableClosedRange型=最後の要素を含む
for i in 0...3 {
   print(i) // 0,1,2,3
}

// 刻みのわからないRange型
//for i in 0.0..<3.0 { // Strideableでないのでエラーとなる
//    print(i)
//}

ある値が範囲内かどうかを判定する方法

いくつかの方法があります。

// Playgroundにそのまま貼り付けて実行できます

// 範囲の判定方法
let range = 0..<3

// 判定方法 その1
range.contains(0) // true
range.contains(1) // true
range.contains(2) // true
range.contains(3) // ここだけfalse

// 判定方法 その2
range ~= 0 // true
range ~= 1 // true
range ~= 2 // true
range ~= 3 // ここだけfalse

// 判定方法 その3
if case range = 0 {print("ok")} // true
if case range = 1 {print("ok")} // true
if case range = 2 {print("ok")} // true
if case range = 3 {print("ok")} // ここだけfalse

まとめ

範囲型に関わる仕様は色々ありますが、特によく使用する最小限のものを書きました。

この記事が気に入ったらサポートをしてみませんか?