Что означает Swift.String.Index (_rawBits :) - PullRequest
1 голос
/ 05 мая 2020

Я пытаюсь понять, что на самом деле означает _rawBits в Swift.String.Index(_rawBits:). Если вы напечатаете String.Index, вы получите что-то вроде Swift.String.Index(_rawBits: 983040). Но что это на самом деле означает?

Могу ли я (математически) вычислить фактический индекс в строке, используя это число rawBits? основание 32, 16 или что-то еще?

Swift Range использует String.Index в качестве верхней и нижней границ.

1 Ответ

2 голосов
/ 05 мая 2020

Swift Range использует String.Index в качестве верхней и нижней границ.

Нет, это не так. Range<String.Index> имеет, но это только один конкретный тип Range, который в противном случае является c обобщенным для переменной типа с именем Bound.

_rawBits - это внутренняя деталь реализации строки индексы. Вы должны относиться к ним как к непрозрачному типу, которым вы можете управлять только с помощью соответствующего API индекса для String, Substring и других.

...