Коллекции

Последовательность

Последнее обновление: 05.01.2018

Последовательность (range) представляет набор значений, который определяется начальной и конечной точкой. Есть два способа определения последовательности с помощью специальных операторов:

  • ...: этот оператор принимает начальное и конечное значения последовательности и создает набор значений, который включает оба значения

    let range = 1...5   // 1 2 3 4 5
    

    Таким образом, с помощью выражения 1...5 будет создаваться последовательность 1 2 3 4 5. При создании последовательности используется в качестве шага число 1, которое добавляется к предыдущему значению.

    Также последовательность может идти в обратную сторону, если начальное значение меньше конечного, то есть применяется шаг -1:

    let range = -5 ... -1   // -5 -4 -3 -2 -1
    
  • ..<: этот оператор также принимает начальное и конечное значения последовательности и создает набор значений, который не включает конечное значение.

Последовательности имееют ряд методов, рассмотрим некоторые из них.

Метод reversed() возвращает перевернутую наоборот последовательность:

let range = 5 ... 8   // 5 6 7 8
let inv = range.reversed()

for val in inv {
    print(val)
}
// 8
// 7
// 6
// 5

Метод contains() позволяет проверить наличие элемента в последовательности. Если элемент присутствует, то метод возвращает true:

let range = 5 ... 8   // 5 6 7 8

print(range.contains(6))       // true
print(range.contains(9))       // false

Метод start(with:) позволяет проверить, начинается ли последовательность с подпоследовательности, которая передается через параметр with:

let range = 5 ... 8   // 5 6 7 8

let st1 = range.starts(with: 1...5)      // false
let st2 = range.starts(with: 5...7)     // true

Метод overlaps возвращает true, если две последовательности хотя бы частично совпадают:

let range = 5 ... 8   // 5 6 7 8

range.overlaps(3...9)   // true
range.overlaps(9...19)   // false
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850