Мне просто интересно, как работает (перевернутый) CharacterSet в Swift.
Давайте предположим, что у меня есть следующие два набора символов:
let invertedNumbers = CharacterSet(charactersIn: "0123456789").inverted
let numbers = CharacterSet(charactersIn: "0123456789")
Когда я регистрирую оба набора символов с помощью функции печати, как
print(numbers)
в консоли отображается то же самое, что и
print(invertedNumbers)
А это
<CFCharacterSet Items(U+0030 U+0031 U+0032 U+0033 U+0034 U+0035 U+0036 U+0037 U+0038 U+0039)>
Но как они вообще могут быть одинаковыми? Я очень смущен, поскольку они не совсем. Когда я спрашиваю перевернутый, содержит ли он «а», он говорит: true . С другой стороны, не перевернутый говорит: false . И мне нравится, как это работает, но логирование инвертированного не глючит?