Published on

Swiftda Tuple

Authors

Swiftda tuple β€” bu turli qiymatlar guruhidir. Tuple ichidagi har bir qiymat har xil ma'lumot turida bo'lishi mumkin.

Agar biz mahsulotning nomi va narxini saqlamoqchi bo'lsak, ikkita qiymatdan iborat tuple yaratishimiz mumkin: biri nom (string), ikkinchisi narx (float).

Tuple yaratish

Swiftda tuple yaratish uchun qavslar () ishlatiladi. Masalan:

Swift
Tuple yaratish
var product = ("MacBook", 1099.99) print(product)

Bu yerda product β€” string qiymat ("MacBook") va float qiymat (1099.99) saqlovchi tuple.

Tuple elementlariga murojaat qilish

Arraylardagidek, tuple elementlari ham indekslar orqali chaqiriladi (0, 1, ...). Indekslar 0 dan boshlanadi.

// birinchi elementga murojaat qilish
product.0

// ikkinchi elementga murojaat qilish
product.1

Misol:

Swift
Tuple elementlariga murojaat
// ikkita elementli tuple yaratish var product = ("MacBook", 1099.99) // tuple elementlariga murojaat qilish print("Name:", product.0) print("Price:", product.1)

Bu yerda product.0 va product.1 orqali tuple elementlariga murojaat qildik.

Tuple turi β€” (String, Int) kabi belgilanadi.

Tuple elementini o'zgartirish

Tuple elementini uning indeksiga yangi qiymat berish orqali o'zgartirish mumkin.

Swift
Tuple elementini o'zgartirish
// ikkita elementli tuple yaratish var product = ("MacBook", 1099.99) print("Original Tuple: ") // tuple elementlariga murojaat qilish print("Name:", product.0) print("Price:", product.1) // ikkinchi elementni o'zgartirish product.1 = 1299.99 print("\nTuple After Modification: ") // tuple elementlariga murojaat qilish print("Name:", product.0) print("Price:", product.1)

Bu yerda product.1 = 1299.99 bilan ikkinchi element o'zgartirildi.

Named Tuples (Nomlangan Tuplelar)

Tuple elementlariga nom berish mumkin:

var company = (product: "Programiz App", version: 2.1)

Endi elementlarga nomi orqali murojaat qilinadi:

// "Programiz App" qiymatiga murojaat qilish
company.product

Misol:

Swift
Named tuple
// nomlangan tuple yaratish var company = (product: "Programiz App", version: 2.1) // tuple elementlariga nomi orqali murojaat qilish print("Product:", company.product) print("Version:", company.version)

Nomlangan tuplelar kodni o'qishni osonlashtiradi.

Nested Tuple (Ichma-ich Tuple)

Tuple ichida yana boshqa tuple bo'lishi mumkin.

var alphabets = ("A", "B", "C", ("a", "b", "c"))

Bu yerda to'rtinchi element β€” kichik harflardan iborat tuple.

Misol:

Swift
Nested tuple
var alphabets = ("A", "B", "C", ("a", "b", "c")) // birinchi elementga murojaat qilish print(alphabets.0) // "A" ni chiqaradi // to'rtinchi elementga murojaat qilish print(alphabets.3) // ichki tuplega murojaat qilish print(alphabets.3.0) // "a" ni chiqaradi

Bu yerda alphabets.3.0 orqali ichki tuple elementiga murojaat qilindi.

Tuplega element qo'shish yoki o'chirish

Swiftda tuplega element qo'shib bo'lmaydi yoki o'chirib bo'lmaydi.

Swift
Tuple o'zgarmasligi
var company = ("Programiz", "Apple") // Bu xato beradi // company.2 = "Google" // company.remove("Apple") print(company)

Tuple yaratilib bo'lgach, uning tuzilmasi o'zgarmaydi.

Tuple ichida dictionary

Tuple ichida dictionary ishlatish mumkin:

Swift
Tuple ichida dictionary
var laptopLaunch = ("MacBook", 1299, ["Nepal": "10 PM", "England": "10 AM"]) print(laptopLaunch.2) // dictionary ichiga yangi element qo'shish laptopLaunch.2["USA"] = "11 AM" print(laptopLaunch.2)

Bu yerda tuple o'zgarmaydi, lekin uning ichidagi dictionary o'zgarishi mumkin.


πŸ“š Masalalarni qanday yechish kerak?

βœ… Namuna: 1-masala yechimi

Masala: Ikki sondan iborat tuple yarating (a, b) va ularning yig'indisini qaytaring.

Bosqichma-bosqich yechim:

1-qadam: Masalani tushunish

  • a = 5, b = 3 β†’ tuple: (5, 3) β†’ yig'indi: 8
  • a = 10, b = 20 β†’ tuple: (10, 20) β†’ yig'indi: 30

2-qadam: Tuple yaratish va yig'ish

let t = (a, b)
return t.0 + t.1

3-qadam: To'liq yechim

Swift
1-masala yechimi
func solve(_ a: Int, _ b: Int) -> Int { let t = (a, b) return t.0 + t.1 } // Tekshirish print(solve(5, 3)) // 8 print(solve(10, 20)) // 30 print(solve(0, 0)) // 0 print(solve(100, 200)) // 300

Natija: Barcha testlar o'tadi βœ…

Izoh:

  • let t = (a, b) β€” ikki elementli tuple yaratish
  • t.0 β€” birinchi element (a)
  • t.1 β€” ikkinchi element (b)
  • t.0 + t.1 β€” yig'indi qaytariladi

Eslatma: Bu masalada tuple ishlatish shart emas (a + b yetarli), lekin tuple sintaksisini o'rganish uchun foydali.


Xulosa

  • Tuple β€” turli tipli qiymatlar guruhi
  • Indeks β€” .0, .1, .2 bilan murojaat
  • Named tuple β€” elementlarga nom berish
  • Nested tuple β€” tuple ichida tuple
  • O'zgarmas tuzilma β€” element qo'shib/o'chirib bo'lmaydi
  • Funksiya β€” tuple qaytarishi mumkin
Buy mea coffee