[swift-users] Subsequences and shared indices

Tim Vermeulen tvermeulen at me.com
Thu Oct 13 19:12:12 CDT 2016


Is it a requirement that collections share indices with its subsequence? Array and ArraySlice do share indices, which is why ArraySlice isn’t zero-based, and I think this is convenient. But String.CharacterView doesn’t seem to share indices with its subsequence (which is String.CharacterView as well). Consider this example:

let foo = "foobar".characters

let index = foo.index(foo.startIndex, offsetBy: 3)
let bar = foo.suffix(from: index)                   // "bar"

foo[index]                                          // "b" :)
foo[bar.startIndex]                                 // "f" :(

So does this mean that we can’t assume that collections and their subsequences share their indices (which could be very handy),  or is this just a bug related to String.CharacterView?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20161014/b7418797/attachment.html>


More information about the swift-users mailing list