Her ifadede switchinşaatın (birçok dilde) kullanılması gerektiğine kim karar verdi (ve hangi kavramlara dayanarak) break?
Neden böyle bir şey yazmak zorundayız:
switch(a)
{
case 1:
result = 'one';
break;
case 2:
result = 'two';
break;
default:
result = 'not determined';
break;
}
(PHP ve JS'de bunu fark ettim; muhtemelen bunu kullanan diğer birçok dil var)
Eğer switchbir alternatifse if, neden aynı yapıyı kullanamıyoruz if? yani:
switch(a)
{
case 1:
{
result = 'one';
}
case 2:
{
result = 'two';
}
default:
{
result = 'not determined';
}
}
breakMevcut olanı takip eden bloğun yürütülmesini önlediği söylenir . Ancak, mevcut bloğun uygulanmasına ve sonrakilerin yürütülmesine ihtiyaç duyulan herhangi biri gerçekten durumun içine giriyor mu? Yapmadım Benim breakiçin her zaman orada. Her blokta. Her kodda.
case 'a': case 'A': case 'b': case 'B'ama çoğunlukla yapamam çünkü case in [ 'a', 'A', 'b', 'B' ]. Biraz daha iyi bir soru, benim şimdiki tercih edilen dil (C #) 'de, kırılma mesafesindedir zorunlu ve orada hayır örtülü sonbahar-gerçi; unutmak breaksözdizimi hatası ...: \
case TOKEN_A: /*set flag*/; case TOKEN_B: /*consume token*/; break; case TOKEN_C: /*...*/
breakdaha uygulamak için bir ölçüde daha basit kuraldır yerde mevcut” “eğer bir sıçrama yayarlar etmeyin fallthroughbir mevcuttur switch”.
CASEifadeyi dev bir if / elseif bloğu ile eşit olarak ele alır .