2017-04-12 17 views
7

Başlığın belirttiği gibi, sadece && (AND) ve ,'un aynı sonucu Swift'de verdiği bir durumla karşılaştım. Ben düzeltmek am,"&&" ve "," aynı Swift'de mi?

sadece && gibi

Yani, , ait davranıştır gerçek olmalıdır:

let a = 5 
let b = 6 

if a<6, b>0 { 
    print("should be true") 
} 

if a<6, b<0 { 
    print("should be false") 
} 

if a>6, b>0 { 
    print("should be false") 
} 

if a>6, b<0 { 
    print("should be false") 
} 

Sadece kaydeder: Ben aşağıdaki kodu test?

+0

"if" ifadeleri için doğru gibi görünüyor, ancak kod ('> 4, b <4)' gibi kod yazamıyorsunuz, böylece ikisi de aynı değil – XmasRights

+2

Pratik olarak bir durum listesi gibi davranıyor * Muhafızdan sonra, eğer izin ver ve koruysa – vadian

cevap

11

Benzer durumlarda kullanılabilirler, ancak tam olarak aynı oldukları anlamına gelmez.

düşünün: Eğer

if (a, b) || c 

bile a && b || ca, b || c farklıdır yazamıyor

if (a && b) || c 

.

if a, b Hem ifadeler true için değerlendirilmesi gerekir

if a { 
    if b { 
     ... 
    } 
} 

gibi bir şey ama yine de iki ayrı ifadelerdir. Orada &&'u hayal etmemeliyiz.

Neden , operatörüne ihtiyaç duyuyoruz? İsteğe bağlı bağlanmayı boole koşullarıyla birleştirmek için operatöre ihtiyaç vardır, örn. && çünkü

if let a = a, a.isValid() { 

tür durumlarda bize yardımcı olmaz.

İlgili konular