Ternaarinen operaattori
Ternäärinen operaattori, joka tunnetaan myös nimellä ehdollinen operaattori, on lyhennetty tapa kirjoittaa if-else-lause yhdellä rivillä komentosarjassa koodi. Se ottaa kolme operandia: ehdon, arvon, joka palautetaan, jos ehto on tosi, ja arvon, joka palautetaan, jos ehto on epätosi. Ternäärisen operaattorin syntaksi on seuraava:
ehto ? value_if_true : value_if_false
Ehto arvioidaan ensin. Jos se on tosi, value_if_true-lauseke palautetaan. Jos se on epätosi, palautetaan value_if_false-lauseke. Ternääristä operaattoria käytetään usein tiiviimpänä vaihtoehtona if-else-lauseelle tilanteissa, joissa ehto on yksinkertainen ja tuloksena oleva koodi on helppolukuista.
Tarkastellaan esimerkiksi seuraavaa if-else-lausetta:
if (x > 0) { y = x; } else { y = -x; }
Tämä voidaan kirjoittaa uudelleen ternäärisen operaattorin avulla seuraavasti:
y = (x > 0) ? x : -x;
Ternääristä operaattoria voidaan myös käyttää sisäkkäin monimutkaisempien ehtojen käsittelemiseksi. Esimerkiksi:
tulos = (x > 0) ? "Positiivinen" : (x < 0) ? "Negatiivinen" : "Nolla";
Tämä koodi tarkistaa, onko x suurempi kuin 0. Jos on, palautetaan arvo "Positiivinen". Jos ei, koodi tarkistaa, onko x pienempi kuin 0. Jos on, palautetaan arvo "Negatiivinen". Jos x ei ole suurempi eikä pienempi kuin 0, palautetaan arvo "Zero".
Vaikka ternäärioperaattori voi joissakin tapauksissa tehdä koodista tiiviimpää ja helppolukuisempaa, se voi myös vaikeuttaa koodin ymmärtämistä, jos sitä käytetään liikaa tai epäasianmukaisesti. On tärkeää käyttää ternäärioperaattoria harkiten ja asettaa koodin selkeys ja ylläpidettävyys lyhyyden edelle.