on Sun Oct 02 2016, Jean-Denis Muys <swift-users-AT-swift.org> wrote:
> I was playing with CharacterSet, and I came up with: > > let vowels = CharacterSet(charactersIn: "AEIOU") Yeah, because CharacterSet is a set of UnicodeScalars, not a set of Character. That should probably get fixed somehow. I suggest filing a radar against Foundation. > let char: Character = "E" > > vowels.contains(char) > > That last line doesn't compile: I get "*cannot convert value of type > 'Character' to expected argument type 'UnicodeScalar'*" > > The problem is, I could not find a simple way to convert from a character > to a unicodeScalar. The best I found is the very ugly: > > vowels.contains(String(char).unicodeScalars[String(char).unicodeScalars. > startIndex]) > > Did I miss anything? vowels.contains(String(char).unicodeScalars.first!) > Does it have to be that horrific? For now, I'm afraid I don't have anything better for you. I very much hope to improve String usability substantially for Swift 4. > If so, I find using Set much better: > > let vowelsSet: Set<Character> = Set("AEIOU".characters) > > vowelsSet.contains(char) > > I must have missed something. Any suggestion welcome -- -Dave _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users