Swift Aralıkları (Örneklerle)

Bu makalede, Swift'deki menzil, türü ve kullanım durumları hakkında bilgi edineceksiniz.

Aralık, bir değer aralığıdır. Basit bir aralık örneği 0,1,2,3,4,5,6,7,8,9'dur çünkü sayılar 0'dan 9'a kadar sıralıdır.

Aşağıda açıklanan iki aralık operatörü kullanarak hızlı aralık oluşturabiliriz:

1. Kapalı Alan Operatörü (lowerBound… UpperBound)

Aralıktaki tüm değerleri içerir (alt sınırdan üst sınıra). (3 nokta) operatörü kullanılarak bildirilir .

Örneğin: 1… 3 1,2,3 değerlerini içeren aralığı tanımlar

2. Yarı Açık Menzilli Operatör (alt sınır…

Aralıktaki tüm değerleri içerir (alt sınırdan üst sınıra) ancak son (üst sınır) sayıyı hariç tutar. … <Operatör kullanılarak bildirilir .

Örneğin: 1… <3 1 ve 2 değerlerini içeren aralığı tanımlar

Aralık Türleri

1. Kapalı Aralık (lowerBound… UpperBound)

Kapalı aralık operatörü kullanılarak oluşturulan aralıklar, kapalı aralık olarak adlandırılır. Alt sınırdan üst sınıra kadar tüm değerleri içerir.

Örnek 1: For-in döngüsünü kullanarak kapalı aralık değerlerini yazdırma

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

Programı çalıştırdığınızda, çıktı:

 1 2 3 

Yukarıdaki örnek, 1'den 3'e ( 1… 3) kadar sayılar içeren bir aralık oluşturur . Aralığın hangi değerleri içerdiğini görmek için bir for-in döngüsü kullandık. Giriş döngüleri hakkında daha fazla bilgi edinmek için Swift for-in döngüsünü ziyaret edin.

For-in döngüsünü kullanarak, kapalı aralığın, alt (1) ve üst (3) sınır değerleri dahil olmak üzere verilen aralıktaki tüm değerleri içerdiğini görebiliriz.

2. Yarı Açık Aralık (alt sınır…

Yarı açık aralık operatörü kullanılarak oluşturulan aralıklar, yarı açık aralıklar olarak adlandırılır. Alt sınırdan üst sınıra kadar tüm değerleri içerir, ancak üst sınır değerini hariç tutar .

Örnek 2: For-in döngüsünü kullanarak yarı açık aralık değerlerini yazdırma

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

Programı çalıştırdığınızda, çıktı:

 1 2 

Yukarıdaki örnekte, yarı açık aralığın nasıl çalıştığını görmek için giriş döngüsünü kullandık.

Tüm değerleri yazdırmak yerine, yarı açık operatör kullanarak yalnızca 1 ve 2'yi yazdırdığını ve üst sınır değerini (yani 3) hariç tuttuğunu açıkça görebiliriz.

3. Tek taraflı menzil

Tek taraflı menzil, mümkün olduğu kadar tek yönde devam eden menzil türleridir. Hem yarı açık alan operatörü hem de kapalı alan operatörü kullanılarak oluşturulabilir, ancak operatörün yalnızca bir tarafta bir değeri olabilir.

Örnek 3: Tek taraflı aralık 2'den az

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

Programı çalıştırdığınızda, çıktı:

 doğru yanlış 

Yukarıdaki örnek, ikiden küçük sayılar içeren yarı açık aralık operatörünü kullanarak tek taraflı bir aralık oluşturur.

Sonucumuzu doğrulamak için contains yöntemi kullandık . containsYöntemi sadece döner truearalığı içinde element vardır aksi takdirde döndürür false.

range.contains(-1)-1 aralığın içinde olup olmadığını kontrol eder. Bu yana, onun bir üst sınır 2'ye aralığı taraflı ve -1 <2 menzil ve içinde uzanan print(range.contains(-1))çıktılar trueekranında.

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

  • Bir aralığın başlangıcı, sonundan küçük veya sonuna eşit olmalıdır. Örneğimizde (lowerBound… upperBound), alt sınır değeri, üst sınır değerinden daha küçük olmalıdır. Ancak, negatif bir değer olabilir.
    Misal:
    3… 1 // ölümcül hata: UpperBound <lowerBound -3… 1 ile Aralık oluşturulamaz // Bu geçerli bir aralıktır. Lowerbound / Upperbound negatif bir değer içerebilir ancak yukarıdaki ifadeyi geçerli kılmalıdır.
  • For-in döngülerini kullanarak aralığı (tek taraflı aralık hariç) yineleyebiliriz.
  • Bir dizinin öğelerine erişmek için aralık operatörünü de kullanabiliriz.

Ilginç makaleler...