// HalfOpenInterval and Range
func brackets(x: Range<T>, i: T) -> T {
return x[i] // Just forward to subscript
} // cf http://swiftdoc.org/type/Range/
import Cocoa
var h1 = HalfOpenInterval<Int>(0, 4)
h1 // "0..<4 span="">4>
h1.start // 0
h1.end // 4
// h1.startIndex // error
// h1.endIndex // error
h1.description // "0..<4 span="">4>
h1.debugDescription // HalfOpenInterval(0..<4 p="">4>
h1.contains(-1) // false
h1.contains(0) // true
h1.contains(1) // true
h1.contains(3) // true
h1.contains(4) // false
h1.contains(5) // false
var b = (h1 == h1) // true
var h2 = 0..<4
h2 // "0..<4 span="">4>
// h2.start // error
// h2.end // error
h2.startIndex // 0
h2.endIndex // 4
h2.description // "0..<4 span="">4>
h2.debugDescription // Range(0..<4 span="">4>
// h2[-1] // error
brackets(h2, -1) // -1
brackets(h2, 0) // 0
brackets(h2, 1) // 1
brackets(h2, 3) // 3
// brackets(h2, 4) // error
// brackets(h2, 5) // error
b = (h2 == h2) // true
// b = (h1 == h2) // error
var h3 = 0..<4
h3 // "0..<4 span="">4>
b = (h2 == h3) // true
h1.isEmpty // false
h2.isEmpty // false
h3 = 0..<0 // 0..<0 span="">0>
h3.isEmpty // true
h3.debugDescription // Range(0..<0 span="">0>
h1 = HalfOpenInterval<Int>(0, 0)
h1 // 0..<0 span="">0>
h1.isEmpty // true
h1.debugDescription // HalfOpenInterval(0..<0 p="">
0>
0>
No comments:
Post a Comment