- Published on
Swiftda Ternary Conditional Operator
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
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 β
expression1bajariladi - agar condition false bo'lsa β
expression2bajariladi
"Ternary" so'zi operatorning 3 ta operand qabul qilganidan kelib chiqqan.
Misol:
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:
Uni ternary operator yordamida bitta qatorda yozish mumkin:
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.
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 > 0bo'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 > 0expression1="Positive"(true bo'lganda)expression2="Negative"(false bo'lganda)
4-qadam: Yechimni yozish
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 = 0ham "Negative" deb hisoblanadi, chunki0 > 0false.
Xulosa
- Ternary operator:
condition ? value1 : value2 if...elseni 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.