> On Jun 30, 2017, at 10:51 PM, Taylor Swift <kelvin1...@gmail.com> wrote: > > Perusing all the types and free functions in alphabetical order is so much > easier than trying to guess what “topic” something is sorted under.
I’ve read that the above sentence three times, and I honestly can’t tell if you’re being sarcastic or not! I find the long web page version of the docs tedious to read. I use Dash (if you have never tried it, I highly recommend it — seldom do I call any tool indispensable, but dash and launchbar are on my very very short list of tools i cannot live without) and it gives me such a nice compact view of the methods in a sidebar, i can pretty easily find anything. I thought about what someone posted, and almost replied last night, but didn’t because this is a topic where people can become so entrenched and dogmatic. But after some more thought: > Or, in Swift 4: > > let shortID = > String(longerDeviceID[longerDeviceID.index(longerDeviceID.endIndex, offsetBy: > -2)…]) My reply being: in Python, i’m expressing exactly the same concept, but in a very short form: longerDeviceID[-2:] # which reads to me, start 2 before the end, and go to the end. which is exactly what String(longerDeviceID[longerDeviceID.index(longerDeviceID.endIndex, offsetBy: -2)…]) does. The problem with this though is that there are THREE mentions of longerDeviceID. So in Python i might write getLongerDeviceID()[-2:] but in Swift 4 i cannot easily inline this. Or can I? Is there a way of writing something looks like getLongergDeviceId()[<-2 from end> ... ] where whatever goes in the <-2 from the end> does NOT refer to getLongerDeviceID()? I.e. I want to talk about -2 from the end as a concept without needing to refer to the specific string I’m talking about. If i could generate an index concept without referring to the string itself in anyway, i’d be happy. it’d be wonderful if i could express “-2 in whatever you feel like is the natural unit for the string you’re operating on.” Does the new API permit me to do that? If not, can I add my own subscript functions which take a new type, and i’ll invent the concept of “index in natural unit of the string being operated on.” thanks. > > On Sat, Jul 1, 2017 at 12:54 AM, David Baraff <davidbar...@gmail.com > <mailto:davidbar...@gmail.com>> wrote: > >> On Jun 30, 2017, at 9:48 PM, Taylor Swift via swift-users >> <swift-users@swift.org <mailto:swift-users@swift.org>> wrote: >> >> >> Swift's strings were very deliberately designed this way. It's tougher to >> get off the ground, sure, but it's better in the long run. >> >> >> It probably is, but the correct idiom is not very well known, and sadly most >> tutorials and unofficial guides are still teaching dumb ways of subscripting >> into strings (or worse, falling back into NSString methods without >> mentioning so) so the end result is people writing less performant code >> rather than more performant code. > > An efficient solution doesn’t help if even experienced programmers can’t > easily arrive at it. (I’m highly experienced, but I’ll admit I only put in > about 5 minutes before I posted that. on the other hand, it shouldn’t take 5 > minutes to figure out something that simple with strings. still, maybe i > would have done the simple “suffix()” thing had i been looking at the actual > swift 4 api’s, but i only had swift 3 api’s in front of me.) > >> _______________________________________________ >> swift-users mailing list >> swift-users@swift.org <mailto:swift-users@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-users >> <https://lists.swift.org/mailman/listinfo/swift-users> > >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users