Czym są operatory trójczłonowe (warunkowe) w Ruby?

Aoman za pomocą komputera w biurze.

Thomas Barwick/Stone/Getty Images





The potrójny (lub warunkowy Operator oceni wyrażenie i zwróci jedną wartość, jeśli jest prawdziwe, a drugą, jeśli jest fałszywe. To trochę jak skrótowe, zwięzłe stwierdzenie „jeśli”.

Rubinowy Operator trójargumentowy ma swoje zastosowania, ale jest też nieco kontrowersyjny.



Przykład operatora trójnego

Spójrzmy na ten przykład:

Tutaj operator warunkowy jest używany do wyboru między dwoma ciągami. Całe wyrażenie operatora to wszystko, w tym warunek, znak zapytania, dwa łańcuchy i dwukropek. Ogólny format tego wyrażenia jest następujący: warunkowy ? prawda fałsz .



Jeśli wyrażenie warunkowe jest prawdziwe, operator oceni jako prawdziwe wyrażenie. W przeciwnym razie zostanie ocenione jako fałszywe wyrażenie. W tym przykładzie jest w nawiasach, więc nie koliduje z otaczającymi go operatorami konkatenacji ciągów.

Innymi słowy, operator warunkowy jest jak an jeśli oświadczenie. Zapamietaj to jeśli sprawozdaniaw rubinachoceniać do ostatniej wartości w bloku, który jest wykonywany. Możesz więc przepisać poprzedni przykład tak:

Ten kod jest funkcjonalnie równoważny i być może nieco łatwiejszy do zrozumienia. Jeśli i jest większa niż 10, jeśli sama instrukcja zwróci wartość do ciągu „większe niż” lub do ciągu „mniejsze niż lub równe”. To jest to samo, co robi operator potrójny, tylko operator potrójny jest bardziej zwarty.

Zastosowania operatora trójskładnikowego

Jakie więc zastosowania ma operator potrójny? Ma zastosowania, ale nie ma ich wiele i bez niego można się dobrze obejść.



Zwykle używa się go do podkuwania wartości, w których tryby warunkowe byłyby zbyt obszerne. Jest również używany w przypisywaniu zmiennych do szybkiego wyboru między dwiema wartościami.

Oto dwa typowe przypadki użycia operatora potrójnego:



Być może zauważyłeś, że wygląda to dość nierubinowo. Złożone wyrażenia po prostu nie należą do jednej linii w Ruby - zwykle są podzielone i łatwiejsze do odczytania. Jednak zobaczysz ten operator i można go skutecznie używać bez wymykania się spod kontroli.

Jedną z zasad, których należy przestrzegać, jest to, że jeśli używasz tego operatora do wyboru między dwiema wartościami za pomocą prostego warunku, można go użyć. Jeśli robisz coś bardziej złożonego, prawdopodobnie powinieneś użyć an jeśli oświadczenie zamiast.