0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SwiftのRangeについて

Posted at

よく使うforループのfor i in a..<b { }a..<bの部分って何だろう?

参考Webページ(1)を見ると、これはRange<Bound>という構造体らしい。Int型の場合はCountableRangeで少し違うみたいだけど(2)。..<を使ってインスタンス化できるのは、配列のArray構造体が[ ]で作れるのと同じように、シンタックスシュガーのようだ。
ちなみにa...bはClosedRangeといい、閉区間を表す(3)。

Rangeを変数に代入

こういうことができる。

let closedRange = 0...12
print(closedRange.contains(5))

日付のrange

このページで一番言いたいことは、Date型でもrangeが作れてとても便利ということ。例えば、startDate,endDate,dateの3つの変数があった時に、dateがstartDateとendDateの間の区間に含まれているか判定するコードは、次のように書ける。

let range =  startDate..<endDate
if range.contains(date) { }

日付のrangeについては(4)のwebページにあるサンプルコードがわかりやすかった。

参考Webページ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?