Operator warunkowy (trenary operator). Czytam opis na wiki i nie rozumiem… ale u mnie panuje trzydniówka i nie potrafię się skupić.
w programowaniu konstrukcja języka programowania, w których odróżnia się wyrażenia od instrukcji, będący formą instrukcji warunkowej wyrażoną za pomocą operatora trójargumentowego; bywa ona instrukcją wyrażeniową.
W kodzie występuje z reguły tak:
condition ? true : false
Przykład z życia – tworzę sobie okienko dialogowe do dodawania/edycji posiłku. Jeśli okienko służy do edycji przekazuję do funkcji obiekt meal, jeśli jest to dodawanie nowego, to meal jest nullem.
Wykorzystuję operator warunkowy żeby w zależności od tego czy obiekt meal jest nullem, czy nie ustawiać na przycisku tekst “dodaj” lub “edytuj”
Ten zapis jest chyba o wiele bardziej czytelny niż zrobienie tego samego za pomocą if-else. Jeszcze w takim miejscu jak konstruktor przycisku.
P.S. W fajnych językach jak groovy ( 😉 ) występuje jeszcze coś takiego jak skrócony operator trójwartościowy (Elvis).
Uff, w C# też jest podobny operator (“??”). Już się bałem że piszę w języku który nei jest fajny 😛
w C# fajny jest też Linq, ale to było dawno jak w nim pisałam – mogło się coś zmienić od tego czasu 😉
Na szczęście nie zmieniło i nadal jest fajny 🙂
Elvis Elvisem, a niektóre fajne języki zamiast takich kombinacji pozwalają zrobić po prostu:
name = user.name || ‘Default name’
😉