on Sun Jan 22 2017, James Froggatt <swift-evolution@swift.org> wrote:
> Could we add subscript labels to the list of options? While keeping > the range syntax is appealing, I'm concerned it may cause confusion if > the operators are used out of context. > > The wording is up for debate, but something like this should be a fair > alternative: > items[from: i] > items[upTo: i] > > Sorry if this has been covered elsewhere (can't find the answer in > this thread), but my first questions on discovering these operators > (my source of confusion) would be what happens if I try the following: > let partialRange = 0..< //is this an infinite range? If we implemented that syntax, it would be. The proposal is that half-open ranges without an upper bound would be illegal, but let partialRange = 0... is just such an infinite range, which is useful in its own right. For example, let's deprecate enumerated(): for (i, e) in zip(0..., elements) { print("\(i): \(e)") } > let x = items[partialRange] //shouldn't this cause an out of bounds error? Why should that be out-of-bounds? Whether it is out-of-bounds would depend on what items is. If it's an array, that should be equivalent to let x = items[items.startIndex..<items.endIndex] -- -Dave _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution