- Published on
Swiftda Ranges
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
Swiftda range (oralik) β bu ikki son oralig'idagi qiymatlar ketma-ketligi. Masalan:
Bu yerda:
...β range operatori1...4β qiymatlar:1, 2, 3, 41β pastki chegarasi (birinchi qiymat)4β yuqori chegarasi (oxirgi qiymat)
Range turlari
Swiftda rangening uch turi mavjud:
- Yopiq range (Closed Range)
- Yarim ochiq range (Half-Open Range)
- Bir tomonlama range (One-Sided Range)
1. Yopiq Range (Closed Range)
Yopiq range pastki chegara va yuqori chegaraning ikkalasini ham o'z ichiga oladi.
U ... (3 nuqta) operatori bilan yaratiladi.
Bu yerda 1...4 yopiq range bo'lgani uchun:
- 1 dan boshlanadi
- 4 bilan tugaydi
- Har ikki chegara ham kiradi
2. Yarim ochiq range (Half-Open Range)
Bu rangeda pastki chegara kiradi, ammo yuqori chegara kirmaydi.
..< operatori bilan yaratiladi.
Bu yerda 1..<4 β 4 kirmaydi.
3. Bir tomonlama Range (One-Sided Range)
Bir tomonlama range yaratishda ... yoki ..< ishlatiladi.
Bunda range cheksizlikka tomon davom etadi.
Endi range ichida son borligini tekshirish:
Bu yerda contains() yordamida range ichida son borligi tekshirildi.
Bir tomonlama rangeda faqat bitta chegara beriladi.
Swiftda Range yordamida Array elementlarini olish
Range massiv elementlariga murojaat qilishda ham ishlatiladi.
Bu yerda 0...2 β indexlar oralig'i bo'lib, barcha elementlarni olmoqda.
Range haqida esda qoladigan jihatlar
- Pastki chegara yuqori chegaradan kichik bo'lishi shart.
Noto'g'ri:
3...1 // Xato!
To'g'ri:
1...3
- Chegaralar manfiy bo'lishi mumkin.
Birinchi masalaning yechimi
Keling, birinchi masala "Range yig'indisi" ni birga yechib ko'ramiz:
1-qadam: Masalani tushunish
a = 1, b = 5β 1 + 2 + 3 + 4 + 5 = 15a = 3, b = 7β 3 + 4 + 5 + 6 + 7 = 25
2-qadam: Yechim algoritmi
- a...b range yaratamiz
- for loop bilan yig'indini hisoblaymiz
- Natijani qaytaramiz
3-qadam: Kodni yozamiz
Alternativ yechim (reduce bilan):
Natija: Range orqali oraliq yig'indisini osonlik bilan hisobladik.