Diskuze: Podmínka?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
To je podmínka zapsaná na jeden řádek.
if (x % 11 != 10)
return 2;
else
return 1;
Používá se na zkrácení zápisu. Né vždy se to ale hodí, kvůli přehlednosti.
Stačilo by:
x % 11 == 10 ? 1 : 2
Nesouhlasím - toto přehlednost naopak zvyšuje - navíc se to dá odřádkovat. Spíše je kontraindikací, že se to dá použít jen při nastavování hodnoty. Maximálně vybírání akce - ale to už bych použil if/else. Jmenuje se to ternární operátor...
Napsal jsem "Né vždy se to hodí". Protože v určitých situacích ti to
kód pěkně znepřehlední, musíš si umět vybrat kam to dát. Ty aby sis
zase nerýpnul že
Jo ternární operátor, sem si nemohl vzpomenout.
x % 11 == 10 ?
1 :
2
if (x % 11 == 10)
ss = 1;
else
ss = 2;
To přeci bude stejné - ne? Ať uděláš cokoliv...
To rýpaní ohledně délky kódu je už opravdu trapné. Co kdybys tam měl třeba funkci s nějakými parametry? Není vhodné dát 2 volání funkce s několika parametry a ještě podmínku na jeden řádek.
Ternární operátor se hodí zejména v anonymních funkcích, ve kterých se klasické větvení nedá použít. Na rozdíl od větvení je výsledkem nějaká hodnota.
Zobrazeno 8 zpráv z 8.