Her ifadede switch
inş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 switch
bir alternatifse if
, neden aynı yapıyı kullanamıyoruz if
? yani:
switch(a)
{
case 1:
{
result = 'one';
}
case 2:
{
result = 'two';
}
default:
{
result = 'not determined';
}
}
break
Mevcut 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 break
iç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 break
sözdizimi hatası ...: \
case TOKEN_A: /*set flag*/; case TOKEN_B: /*consume token*/; break; case TOKEN_C: /*...*/
break
daha uygulamak için bir ölçüde daha basit kuraldır yerde mevcut” “eğer bir sıçrama yayarlar etmeyin fallthrough
bir mevcuttur switch
”.
CASE
ifadeyi dev bir if / elseif bloğu ile eşit olarak ele alır .