Замкнутые и полуоткрытые диапазоны
Корректно используйте ... и ..< в циклах и срезах.
«Замкнутые и полуоткрытые диапазоны» — бесплатный урок Swift Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.
Что такое диапазон
Диапазон представляет последовательность значений между нижней и верхней границами. В Swift для этого есть два основных оператора диапазона.
let r = 1...5
for n in r {
print(n)
}Замкнутый диапазон
Оператор замкнутого диапазона a...b включает обе границы. 1...5 содержит 1, 2, 3, 4 и 5.
for n in 1...5 {
print(n)
}Полуоткрытый диапазон
Оператор полуоткрытого диапазона a..<b включает нижнюю границу, но исключает верхнюю. 0..<5 содержит 0, 1, 2, 3 и 4.
for n in 0..<5 {
print(n)
}Почему часто используют полуоткрытые диапазоны
Полуоткрытые диапазоны идеально сочетаются с количеством элементов и индексами. 0..<array.count посещает каждый допустимый индекс ровно один раз.
let items = ["a", "b", "c"]
for i in 0..<items.count {
print("\(i): \(items[i])")
}У диапазонов есть свойство count
Диапазон знает, сколько значений он охватывает, благодаря своему свойству count.
let closed = 1...5
let halfOpen = 0..<5
print(closed.count)
print(halfOpen.count)Проверка принадлежности
Используйте contains, чтобы проверить, находится ли значение в диапазоне.
let valid = 1...100
print(valid.contains(50))
print(valid.contains(0))
print(valid.contains(101))Нижняя и верхняя границы
Каждый диапазон предоставляет свойства lowerBound и upperBound.
let r = 10...20
print(r.lowerBound)
print(r.upperBound)Пустые и одноэлементные диапазоны
Полуоткрытый диапазон, например 5..<5, пуст. Замкнутый диапазон не может быть пустым, потому что обе его границы включены.
let empty = 5..<5
print(empty.isEmpty)
let single = 5...5
print(single.count)Диапазоны в конструкции выбора
Диапазоны работают как шаблоны ветвей конструкции выбора и позволяют распределить значение по категориям.
let score = 73
switch score {
case 0..<60:
print("Fail")
case 60...100:
print("Pass")
default:
print("Invalid")
}Границы должны быть упорядочены
Нижняя граница не должна превышать верхнюю. Запись 5...1 вызывает сбой во время выполнения, поэтому располагайте границы в правильном порядке.
let lo = 2
let hi = 8
if lo <= hi {
for n in lo...hi {
print(n)
}
}Подсчёт итераций
Если нужно только повторить действие N раз и индекс не нужен, используйте диапазон с _.
var total = 0
for _ in 1...4 {
total += 10
}
print(total)Быстрая проверка
Проверьте замкнутые и полуоткрытые диапазоны.
Итоги: замкнутые и полуоткрытые диапазоны
a...b включает обе границы, а a..<b исключает верхнюю и естественно сочетается с количеством элементов и индексами. Диапазоны поддерживают count, contains и свойства границ.
for i in 0..<3 { print(i) }Изучай Swift с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 122
- Уроки
- 409
Часто задаваемые вопросы
Урок «Замкнутые и полуоткрытые диапазоны» бесплатный?
Да — полный текст урока «Замкнутые и полуоткрытые диапазоны» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.
Чему я научусь в уроке «Замкнутые и полуоткрытые диапазоны»?
Корректно используйте ... и ..< в циклах и срезах. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Замкнутые и полуоткрытые диапазоны»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Замкнутые и полуоткрытые диапазоны
- Односторонние диапазоны
- Подсчёт с помощью stride(from:to:by:)
- Диапазоны как коллекции