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:

var product = ("MacBook", 1099.99)

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:

// ikkita elementli tuple yaratish
var product = ("MacBook", 1099.99)

// tuple elementlariga murojaat qilish
print("Name:", product.0)
print("Price:", product.1)

Natija:

Name: MacBook
Price: 1099.99

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.

// 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)

Natija:

Original Tuple: 
Name: MacBook
Price: 1099.99

Tuple After Modification: 
Name: MacBook
Price: 1299.99

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:

// 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)

Natija:

Product: Programiz App
Version: 2.1

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:

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.

var company = ("Programiz","Apple")

company.2 = "Google"        // xato

company.remove("Apple")     // xato

print(company)

Natija:

error: cannot convert value of type '(String, String)'
error: value of tuple type '(String, String)' has no member 'remove'

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

Tuple ichida dictionary

Tuple ichida dictionary ishlatish mumkin:

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)

Natija:

["Nepal": "10 PM", "England": "10 AM"]
["Nepal": "10 PM", "England": "10 AM", "USA": "11 AM"]

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