Діапазони в Swift (з прикладами)

У цій статті ви дізнаєтеся про діапазон, його тип та випадки використання в Swift.

Діапазон - це інтервал значень. Простий приклад діапазону - 0,1,2,3,4,5,6,7,8,9, оскільки числа є послідовними від 0 до 9.

Ми можемо швидко створити діапазон, використовуючи два оператори діапазону, описані нижче:

1. Оператор із закритим діапазоном (нижня межа … верхня межа)

Він включає всі значення в інтервалі (від нижньої до верхньої). Це оголошується за допомогою оператора (3 крапки).

Наприклад: 1… 3 Визначає діапазон, що містить значення 1,2,3

2. Оператор на половину відкритого діапазону (нижня межа …

Він включає всі значення в інтервалі (від нижньої до верхньої), але виключає останнє (верхнє). Це оголошено за допомогою … <оператора.

Наприклад: 1… <3 Визначає діапазон, що містить значення 1 і 2

Типи асортименту

1. Закритий діапазон (нижня межа … верхня межа)

Діапазони, створені за допомогою оператора закритого діапазону, називаються замкнутими. Він включає всі значення від нижньої до верхньої.

Приклад 1: Друк значень замкнутого діапазону за допомогою циклу входу

 // 1… 3 Defines a range containing values 1, 2 and 3 for value in 1… 3 ( print(value) ) 

Коли ви запускаєте програму, результат буде:

 1 2 3 

Наведений вище приклад створює діапазон, що містить числа від 1 до 3 ( 1… 3). Ми використали цикл for-in, щоб побачити, які значення містить діапазон. Щоб дізнатись більше про вхідні цикли, відвідайте Swift for-in loop.

Використовуючи цикл for-in, ми бачимо, що замкнутий діапазон містить усі значення в заданому діапазоні, включаючи нижню (1) та верхню (3) межі.

2. Половина відкритого діапазону (нижня межа …

Діапазони, створені за допомогою оператора напіввідкритого діапазону, називаються напіввідкритими діапазонами. Він включає всі значення від нижньої до верхньої межі, але виключає значення верхньої межі.

Приклад 2: Друк значень напіввідкритого діапазону за допомогою вхідного циклу

 // 1… <3 Defines a range containing values 1,2 for value in 1… <3 ( print(value) ) 

Коли ви запускаєте програму, результат буде:

 1 2 

У наведеному вище прикладі ми використовували цикл for-in, щоб побачити, як працює напіввідкритий діапазон.

Замість друку всіх значень ми чітко бачимо, що за допомогою напіввідкритого оператора друкуються лише відбитки 1 і 2, і це виключає значення верхньої межі (тобто 3).

3. Односторонній діапазон

Односторонній діапазон - це ті типи дальності, які тривають, наскільки це можливо, в одному напрямку. Він може бути створений як за допомогою оператора напіввідкритого діапазону, так і оператора закритого діапазону, але оператор може мати значення лише з одного боку.

Приклад 3: Односторонній діапазон менше 2

 let range =… <2 print(range.contains(-1)) print(range.contains(2)) 

Коли ви запускаєте програму, результат буде:

 правда помилково 

Наведений вище приклад створює односторонній діапазон за допомогою оператора напіввідкритого діапазону, який містить будь-які числа менше двох.

Для перевірки нашого результату ми використали contains метод. containsМетод просто повертає , trueякщо елемент лежить всередині діапазону в іншому випадку вона повертає false.

range.contains(-1)перевіряє, чи знаходиться -1 в межах діапазону чи ні. Оскільки його односторонній діапазон з верхньою межею 2 і -1 <2 він лежить всередині діапазону і print(range.contains(-1))виводиться trueна екран.

Однак через напіввідкритого оператора діапазону значення верхньої межі (2) не містить усередині діапазону. Отже, range.contains(2)повертається false.

Приклад 4: Односторонній діапазон, починаючи з 2

 let range = 2… print(range.contains(100)) print(range.contains(1)) 

Коли ви запускаєте програму, результат буде:

 правда помилково 

У наведеному вище прикладі створюється односторонній діапазон із використанням замкнутого оператора, який містить числа від 2 до будь-яких значень, більших за 2.

range.contains(100)перевіряє, чи знаходиться 100 в межах діапазону чи ні. Оскільки його односторонній діапазон і 100 більше 2, він лежить всередині діапазону і друкує trueна екрані.

Однак воно має нижнє значення (2), тому range.contains(1)повертається false.

Що пам’ятати

  • Початок діапазону повинен бути меншим або рівним його кінці. У нашому прикладі (lowerBound… upperBound)значення нижньої межі має бути меншим, ніж значення верхньої межі. Однак це може бути і негативним значенням.
    Приклад:
    3… 1 // фатальна помилка: не вдається сформувати діапазон з верхньою межею <нижня межа -3… 1 // Це дійсний діапазон. Нижня / верхня межа може містити від’ємне значення, але має бути чинною вищезазначеним твердженням.
  • Ми можемо перебирати діапазон (виключаючи односторонній діапазон), використовуючи вхідні петлі.
  • Ми також можемо використовувати оператор діапазону для доступу до елементів масиву.

Цікаві статті...