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:

// pass yoki fail tekshiruvchi dastur
let marks = 60

let result = (marks >= 40) ? "pass" : "fail"

print("You " + result + " the exam")

Natija:

You pass 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:

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:

let num = 15

let result = (num > 0) ? "Positive Number" : "Negative Number"
print(result)

Natija:

Positive Number

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.

// son musbat, nol yoki manfiyligini aniqlash
let num = 7

let result = (num == 0) 
    ? "Zero" 
    : ((num > 0) ? "Positive" : "Negative")

print("The number is \(result).")

Natija:

The number is Positive.

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.