Полуоткрытый диапазон на массиве с одним элементом - PullRequest
0 голосов
/ 19 марта 2020
let oneNumArr = [0]
oneNumArr[0..<0] // ArraySlice([])
oneNumArr[0..<1] // [0]
oneNumArr[1..<1] // ArraySlice([])

Почему и 0..0, и 1..<1 возвращают ArraySlice([])?

1 Ответ

0 голосов
/ 19 марта 2020

Первый случай:

oneNumArr[0..<0]
  • Это от индекса 0 до 0.
  • Индексы: нет
  • Этот диапазон не ' Это не имеет смысла, потому что вы говорите, включите 1, но не включайте 1 в диапазон. Он известен как пустой диапазон.

Второй случай:

oneNumArr[0..<1]
  • Это от индекса 0 до 1.
  • Индексы: 0
  • Этот диапазон работает.

Третий случай:

oneNumArr[1..<1]
  • Это от индекса 1 до 1.
  • Индексы: отсутствуют
  • Этот диапазон не имеет смысла (по той же причине, что и в первом случае).

Подробные сведения об операторах диапазона см. В Swift Docs здесь .

...