Zakresy w języku Swift (z przykładami)

Z tego artykułu dowiesz się o zasięgu, jego typie i zastosowaniach w Swift.

Zakres to przedział wartości. Prostym przykładem zakresu jest 0,1,2,3,4,5,6,7,8,9, ponieważ liczby są sekwencyjne od 0 do 9.

Możemy stworzyć zasięg w swift używając dwóch operatorów zakresu opisanych poniżej:

1. Operator zakresu zamkniętego (lowerBound… upperBound)

Obejmuje wszystkie wartości w interwale (od dolnej do górnej granicy). Jest deklarowana za pomocą operatora (3 kropki).

Np .: 1… 3 Definiuje zakres zawierający wartości 1,2,3

2. Operator półotwartego zakresu (dolna granica…

Obejmuje wszystkie wartości w interwale (dolna granica do górnej granicy), ale wyklucza ostatnią (górną granicę) liczbę. Jest deklarowane za pomocą … <operatora.

Np .: 1… <3 Definiuje zakres zawierający wartości 1 i 2

Rodzaje zakresów

1. Zakres zamknięty (lowerBound… upperBound)

Zakresy utworzone za pomocą operatora zakresu zamkniętego nazywane są zakresem zamkniętym. Obejmuje wszystkie wartości od dolnej do górnej granicy.

Przykład 1: Drukowanie wartości z zakresu zamkniętego przy użyciu pętli for-in

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

Po uruchomieniu programu wynik będzie następujący:

 1 2 3 

Powyższy przykład tworzy zakres zawierający liczby od 1 do 3 ( 1… 3). Użyliśmy pętli for-in, aby zobaczyć, jakie wartości zawiera zakres. Aby dowiedzieć się więcej o pętlach for-in, odwiedź stronę Swift for-in loop.

Używając pętli for-in, widzimy, że zakres zamknięty zawiera wszystkie wartości w podanym zakresie, w tym dolną (1) i górną (3) wartość graniczną.

2. Zakres półotwarty (dolna granica…

Zakresy utworzone za pomocą operatora półotwartego zakresu nazywane są półotwartymi zakresami. Obejmuje wszystkie wartości od dolnej do górnej granicy, ale wyklucza górną granicę.

Przykład 2: Drukowanie wartości półotwartego zakresu za pomocą pętli for-in

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

Po uruchomieniu programu wynik będzie następujący:

 1 2 

W powyższym przykładzie użyliśmy pętli for-in, aby zobaczyć, jak działa półotwarty zakres.

Zamiast wypisywać wszystkie wartości, wyraźnie widzimy, że operator półotwarty wypisuje tylko 1 i 2 i wyklucza górną wartość graniczną (tj. 3).

3. Zakres jednostronny

Zakres jednostronny to te typy zasięgu, które w miarę możliwości rozciągają się w jednym kierunku. Można go utworzyć za pomocą operatora półotwartego i zamkniętego zakresu, ale operator może mieć wartość tylko po jednej stronie.

Przykład 3: Jednostronny zakres mniejszy niż 2

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

Po uruchomieniu programu wynik będzie następujący:

 prawda fałsz 

Powyższy przykład tworzy jednostronny zakres przy użyciu operatora półotwartego zakresu, który zawiera liczby mniejsze niż dwa.

Aby zweryfikować nasz wynik, użyliśmy contains metody. containsMetoda zwraca po prostu truejeśli kłamstwa elementów wewnątrz zakresu inaczej zwraca false.

range.contains(-1)sprawdza, czy -1 leży w zakresie, czy nie. Ponieważ jego jednostronny zakres z górną granicą 2 i -1 <2 leży w zakresie i print(range.contains(-1))wyświetla truena ekranie.

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

  • Początek zakresu musi być mniejszy lub równy jego końcu. W naszym przykładzie (lowerBound… upperBound)wartość dolnej granicy musi być mniejsza niż wartość górnej granicy. Jednak może to być wartość ujemna.
    Przykład:
    3… 1 // błąd krytyczny: nie można utworzyć zakresu z upperBound <lowerBound -3… 1 // To jest prawidłowy zakres. Dolna / Górna granica może zawierać wartość ujemną, ale powinna być poprawna dla powyższej instrukcji.
  • Możemy iterować po zakresie (z wyłączeniem zakresu jednostronnego) za pomocą pętli for-in.
  • Możemy również użyć operatora zakresu, aby uzyskać dostęp do elementów tablicy.

Interesujące artykuły...