Avatar
早速この前の range.contains(anotherRange) について書いてみました。↓みたいな感じで投げてみようかと。 [Pitch] range.contains(anotherRange) Hi, Recently I needed to implement `contains` methods to check if a range contains another range. I think those are basic operations and suitable for the standard library. Although it may seem easy to implement such `contains` methods whenever we need them, their precise specifications are too complicated to do so. e.g. let a: ClosedRange<Int> = 2...7 a.contains(3...5) // `true` a.contains(3...7) // also `true` a.contains(3..<8) // still `true` because all values contained in `3..<8` are also in `a` a.contains(3..<9) // `false` let b: ClosedRange<Float> = 2...7 b.contains(3...5) // `true` b.contains(3...7) // `true` b.contains(3..<8) // `false` because { x | 7.0 < x < 8.0 } is not contained in `a` let c: Range<Float> = 2..<7 c.contains(3...5) // `true` c.contains(3..<7) // `true` c.contains(3...7) // `false` because 7.0 is not contained in `a` My experimental implementation is here: https://github.com/koher/range-contains What are your thoughts about them?