Published on

Swiftda Ternary Conditional Operator

Authors

Ternary operator ba'zi hollarda if...else konstruktsiyasini qisqa shaklda yozish uchun ishlatiladi.

Ternary operatorni o'rganishdan oldin, Swiftdagi if...else operatori bilan tanish bo'lish tavsiya etiladi.

Ternary operator nima?

Ternary operator berilgan shartni tekshiradi va shu shartga qarab ikki ifodadan birini bajaradi.

Sintaksisi:

condition ? expression1 : expression2

Bu yerda:

  • agar condition true bo'lsa β†’ expression1 bajariladi
  • agar condition false bo'lsa β†’ expression2 bajariladi

"Ternary" so'zi operatorning 3 ta operand qabul qilganidan kelib chiqqan.

Misol:

Swift
Ternary operator misoli
// pass yoki fail tekshiruvchi dastur let marks = 60 let result = (marks >= 40) ? "pass" : "fail" print("You " + result + " the exam")

Bu yerda:

(marks >= 40) ? "pass" : "fail"
  • agar marks >= 40 β†’ "pass"
  • aks holda β†’ "fail"

Ternary operatorni if...else o'rnida ishlatish

Quyidagi kodni ko'rib chiqing:

Swift
if...else misoli
let num = 15 var result = "" if (num > 0) { result = "Positive Number" } else { result = "Negative Number" } print(result)

Uni ternary operator yordamida bitta qatorda yozish mumkin:

Swift
Ternary operator bilan
let num = 15 let result = (num > 0) ? "Positive Number" : "Negative Number" print(result)

Ternary operator kodni ancha ixcham va o'qilishi oson qiladi.

Ichma-ich ternary operator (Nested ternary)

Ternary operator ichiga yana ternary operator joylash mumkin. Bunday holat nested ternary deyiladi.

Swift
Nested ternary operator
// son musbat, nol yoki manfiyligini aniqlash let num = 7 let result = (num == 0) ? "Zero" : ((num > 0) ? "Positive" : "Negative") print("The number is \(result).")

Bu yerda:

  • birinchi shart: num == 0
  • agar false bo'lsa β†’ ichki ternary operator ishlaydi:
    • (num > 0) ? "Positive" : "Negative"

Nested ternary operator kodni murakkablashtirishi mumkin, shuning uchun faqat zarur bo'lgan holatlarda qo'llash tavsiya etiladi.


πŸ“š Masalalarni qanday yechish kerak?

βœ… Namuna: 1-masala yechimi

Masala: Ternary operator yordamida: son musbat bo'lsa 'Positive', aks holda 'Negative' qaytaring.

Bosqichma-bosqich yechim:

1-qadam: Masalani tushunish

Bizga n soni beriladi:

  • Agar n > 0 bo'lsa β†’ "Positive" qaytaramiz
  • Aks holda β†’ "Negative" qaytaramiz

2-qadam: Starter kodni ko'rish

func solve(_ n: Int) -> String {
    // Ternary operator ishlating
    // n > 0 ? "Positive" : "Negative"
    return ""
}

3-qadam: Ternary operator sintaksisi

condition ? expression1 : expression2

Bizning holatda:

  • condition = n > 0
  • expression1 = "Positive" (true bo'lganda)
  • expression2 = "Negative" (false bo'lganda)

4-qadam: Yechimni yozish

Swift
1-masala yechimi
func solve(_ n: Int) -> String { return n > 0 ? "Positive" : "Negative" } // Tekshirish print(solve(5)) // Positive print(solve(-3)) // Negative print(solve(100)) // Positive print(solve(-1)) // Negative

Natija: Barcha testlar o'tadi βœ…

Izoh:

  • n > 0 β€” shart (true yoki false qaytaradi)
  • ? β€” agar true bo'lsa, keyingi qiymatni ol
  • "Positive" β€” true bo'lganda qaytariladigan qiymat
  • : β€” agar false bo'lsa, keyingi qiymatni ol
  • "Negative" β€” false bo'lganda qaytariladigan qiymat

Eslatma: Bu masalada n = 0 ham "Negative" deb hisoblanadi, chunki 0 > 0 false.


Xulosa

  • Ternary operator: condition ? value1 : value2
  • if...else ni qisqa yozish usuli
  • 3 ta operand qabul qiladi (shuning uchun "ternary")
  • Nested ternary β€” ternary ichida ternary (murakkablashtiradi)
  • Oddiy shartlar uchun juda qulay

Keyingi mavzuda Bitwise operatorlar ni o'rganamiz.

Buy mea coffee