У овом чланку ћете научити о домету, његовом типу и случајевима коришћења у Свифту.
Распон је интервал вредности. Једноставан пример опсега је 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
). Користили смо петљу фор-ин да бисмо видели које вредности опсег садржи. Да бисте сазнали више о петљама за улазак, посетите Свифт петљу за улазак.
Користећи фор-ин лооп, можемо видети да затворени опсег садржи све вредности у датом опсегу, укључујући доњу (1) и горњу (3) ограничену вредност.
2. Полуотворени домет (нижи ниво …
Опсези створени помоћу оператора полуотвореног опсега називају се полуотвореним опсезима. Обухвата све вредности од доње до горње границе, али искључује вредност горње границе.
Пример 2: Штампање вредности полуотвореног опсега помоћу улазне петље
// 1… <3 Defines a range containing values 1,2 for value in 1… <3 ( print(value) )
Када покренете програм, излаз ће бити:
1 2
У горњем примеру користили смо фор-ин петљу да бисмо видели како функционише полуотворени опсег.
Уместо да исписујемо све вредности, јасно можемо видети да употреба полуотвореног оператора отискује само отиске 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
на екран.
However, because of half-open range operator, the upper bound value(2) does not contains inside the range. So, range.contains(2)
returns false
.
Example 4:One-sided range starting from 2
let range = 2… print(range.contains(100)) print(range.contains(1))
When you run the program, the output will be:
true false
The above example creates a one sided range using closed operator that contains numbers from 2 to any values greater than 2.
range.contains(100)
checks if 100 lies inside the range or not. Since, its one sided range and 100 is greater than 2, it lies inside the range and prints true
in the screen.
However, it has a lower bound value (2), so range.contains(1)
returns false
.
Things to remember
- Почетак распона мора бити мањи или једнак његовом крају. У нашем примеру
(lowerBound… upperBound)
, вредност доње границе мора бити мања од вредности горње границе. Међутим, то може бити негативна вредност.
Пример:
3… 1 // фатална грешка: Није могуће формирати опсег са упперБоунд <ловерБоунд -3… 1 // Ово је важећи опсег. Доња / Горња веза може садржати негативну вредност, али би требало да важи горе наведену изјаву.
- Можемо се итерирати преко опсега (изузимајући једнострани опсег) користећи петље за улазак.
- Такође можемо користити оператор домета за приступ елементима низа.
Обухвата све вредности у интервалу (од доње до горње), али искључује последњи (горња). Декларише се помоћу … <
оператора.
Нпр .: 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
). Користили смо петљу фор-ин да бисмо видели које вредности опсег садржи. Да бисте сазнали више о петљама за улазак, посетите Свифт петљу за улазак.
Користећи фор-ин лооп, можемо видети да затворени опсег садржи све вредности у датом опсегу, укључујући доњу (1) и горњу (3) ограничену вредност.
2. Полуотворени домет (нижи ниво …
Опсези створени помоћу оператора полуотвореног опсега називају се полуотвореним опсезима. Обухвата све вредности од доње до горње границе, али искључује вредност горње границе.
Пример 2: Штампање вредности полуотвореног опсега помоћу улазне петље
// 1… <3 Defines a range containing values 1,2 for value in 1… <3 ( print(value) )
Када покренете програм, излаз ће бити:
1 2
У горњем примеру користили смо фор-ин петљу да бисмо видели како функционише полуотворени опсег.
Уместо да исписујемо све вредности, јасно можемо видети да употреба полуотвореног оператора отискује само отиске 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
на екран.
However, because of half-open range operator, the upper bound value(2) does not contains inside the range. So, range.contains(2)
returns false
.
Example 4:One-sided range starting from 2
let range = 2… print(range.contains(100)) print(range.contains(1))
When you run the program, the output will be:
true false
The above example creates a one sided range using closed operator that contains numbers from 2 to any values greater than 2.
range.contains(100)
checks if 100 lies inside the range or not. Since, its one sided range and 100 is greater than 2, it lies inside the range and prints true
in the screen.
However, it has a lower bound value (2), so range.contains(1)
returns false
.
Things to remember
- Почетак распона мора бити мањи или једнак његовом крају. У нашем примеру
(lowerBound… upperBound)
, вредност доње границе мора бити мања од вредности горње границе. Међутим, то може бити негативна вредност.
Пример:
3… 1 // фатална грешка: Није могуће формирати опсег са упперБоунд <ловерБоунд -3… 1 // Ово је важећи опсег. Доња / Горња веза може садржати негативну вредност, али би требало да важи горе наведену изјаву.
- Можемо се итерирати преко опсега (изузимајући једнострани опсег) користећи петље за улазак.
- Такође можемо користити оператор домета за приступ елементима низа.
Опсези створени помоћу оператора полуотвореног опсега називају се полуотвореним опсезима. Обухвата све вредности од доње до горње границе, али искључује вредност горње границе.
Пример 2: Штампање вредности полуотвореног опсега помоћу улазне петље
// 1… <3 Defines a range containing values 1,2 for value in 1… <3 ( print(value) )
Када покренете програм, излаз ће бити:
1 2
У горњем примеру користили смо фор-ин петљу да бисмо видели како функционише полуотворени опсег.
Уместо да исписујемо све вредности, јасно можемо видети да употреба полуотвореног оператора отискује само отиске 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
на екран.
However, because of half-open range operator, the upper bound value(2) does not contains inside the range. So, range.contains(2)
returns false
.
Example 4:One-sided range starting from 2
let range = 2… print(range.contains(100)) print(range.contains(1))
When you run the program, the output will be:
true false
The above example creates a one sided range using closed operator that contains numbers from 2 to any values greater than 2.
range.contains(100)
checks if 100 lies inside the range or not. Since, its one sided range and 100 is greater than 2, it lies inside the range and prints true
in the screen.
However, it has a lower bound value (2), so range.contains(1)
returns false
.
Things to remember
- Почетак распона мора бити мањи или једнак његовом крају. У нашем примеру
(lowerBound… upperBound)
, вредност доње границе мора бити мања од вредности горње границе. Међутим, то може бити негативна вредност.
Пример:3… 1 // фатална грешка: Није могуће формирати опсег са упперБоунд <ловерБоунд -3… 1 // Ово је важећи опсег. Доња / Горња веза може садржати негативну вредност, али би требало да важи горе наведену изјаву.
- Можемо се итерирати преко опсега (изузимајући једнострани опсег) користећи петље за улазак.
- Такође можемо користити оператор домета за приступ елементима низа.