Swift
swift3

[swift] 区間について

swift --version

Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42)
Target: x86_64-apple-macosx10.9

区間 in Swift

区間 オペレーター
半開区間 [start, end) Range<Bound> start ..< end
閉区間 [start, end] ClosedRange<Bound> start ... end

NOTE

  • Int型における ..< オペレーターはデフォルトではCountableRange<Int>になるので注意
  • CountableRange<Bound>は、Rangeというサフィックスが付いているが、区間というよりSequenceと考えたほうが実用的
  • Collectionのsubscriptメソッドで受け取る型はRange<Bound>

区間の定義

  • 開区間
    • 両端を含まない
    • ( )で囲む
      ex: (0,1) = 0より大きく、1未満
  • 閉区間
    • 両端を含む
    • [ ]で囲む
      ex: [0,1] = 0以上、1以下
  • 半開区間
    • どちらか一方を含む
    • 始端を含む場合 [ )で囲む
      ex: [0, 1) = 0以上、1未満
    • 終端を含む場合 ( ]で囲む
      ex: (0, 1] = 0より大きく、1以下

参照