Ranges in Swift (Dengan Contoh)

Pada artikel ini, Anda akan mempelajari tentang range, jenisnya, dan kasus penggunaannya di Swift.

Rentang adalah interval nilai. Contoh sederhananya adalah 0,1,2,3,4,5,6,7,8,9 karena angkanya berurutan dari 0 hingga 9.

Kami dapat membuat jangkauan dengan cepat menggunakan dua operator jangkauan yang dijelaskan di bawah ini:

1. Operator Rentang Tertutup (batas bawah… batas atas)

Ini mencakup semua nilai dalam interval (batas bawah ke batas atas). Ini dideklarasikan menggunakan operator (3 titik).

Misalnya: 1… 3 Mendefinisikan rentang yang berisi nilai 1,2,3

2. Operator Rentang Setengah Terbuka (batas bawah…

Ini mencakup semua nilai dalam interval (batas bawah ke batas atas) tetapi tidak termasuk nomor terakhir (batas atas). Ini dideklarasikan menggunakan … <operator.

Misalnya: 1… <3 Mendefinisikan rentang yang berisi nilai 1 dan 2

Jenis Rentang

1. Rentang Tertutup (batas bawah… batas atas)

Rentang yang dibuat menggunakan operator rentang tertutup disebut sebagai rentang tertutup. Ini mencakup semua nilai dari batas bawah ke batas atas.

Contoh 1: Mencetak nilai kisaran tertutup menggunakan for-in loop

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

Saat Anda menjalankan program, hasilnya adalah:

 1 2 3 

Contoh di atas membuat rentang yang berisi angka dari 1 hingga 3 ( 1… 3). Kami menggunakan for-in loop untuk melihat nilai apa yang terkandung dalam rentang tersebut. Untuk mempelajari lebih lanjut tentang for-in loop, kunjungi Swift for-in loop.

Menggunakan for-in loop, kita dapat melihat close range berisi semua nilai dalam range yang diberikan termasuk nilai batas bawah (1) dan atas (3).

2. Setengah Rentang Terbuka (batas bawah…

Rentang yang dibuat menggunakan operator setengah rentang terbuka disebut sebagai rentang setengah terbuka. Ini mencakup semua nilai dari batas bawah ke batas atas tetapi tidak termasuk nilai batas atas.

Contoh 2: Mencetak nilai setengah rentang terbuka menggunakan for-in loop

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

Saat Anda menjalankan program, hasilnya adalah:

 1 2 

Dalam contoh di atas, kami telah menggunakan for-in loop untuk melihat cara kerja half-open range.

Alih-alih mencetak semua nilai, kita dapat dengan jelas melihat menggunakan operator setengah terbuka hanya mencetak 1 dan 2, dan tidak termasuk nilai batas atas (yaitu 3).

3. Rentang satu sisi

Rentang satu sisi adalah jenis rentang yang berlanjut sejauh mungkin dalam satu arah. Ini dapat dibuat menggunakan operator setengah terbuka dan operator jarak tertutup tetapi operator dapat memiliki nilai hanya pada satu sisi.

Contoh 3: Rentang satu sisi kurang dari 2

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

Saat Anda menjalankan program, hasilnya adalah:

 benar salah 

Contoh di atas membuat rentang satu sisi menggunakan operator rentang setengah terbuka yang berisi angka kurang dari dua.

Untuk memvalidasi hasil kami, kami telah menggunakan contains metode. The containsMetode hanya mengembalikan truejika kebohongan elemen dalam kisaran jika tidak maka kembali false.

range.contains(-1)memeriksa apakah -1 berada di dalam kisaran atau tidak. Karena, rentang satu sisinya dengan batas atas 2, dan -1 <2 itu terletak di dalam jangkauan dan print(range.contains(-1))keluaran truedi layar.

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

  • Awal rentang harus kurang dari atau sama dengan akhirnya. Dalam contoh kita (lowerBound… upperBound), nilai batas bawah harus lebih kecil dari nilai batas atas. Namun, itu bisa menjadi nilai negatif.
    Contoh:
    3… 1 // kesalahan fatal: Tidak dapat membentuk Range dengan upperBound <lowerBound -3… 1 // Ini adalah kisaran yang valid. Batas bawah / batas atas dapat berisi nilai negatif tetapi harus valid pernyataan di atas.
  • Kita dapat melakukan iterasi dalam rentang (tidak termasuk rentang satu sisi) menggunakan loop for-in.
  • Kita juga bisa menggunakan operator range untuk mengakses elemen array.

Artikel yang menarik...