Co to jest trójargumentowy lub warunkowy operator w Rubim?

The potrójny (lub warunkowy) operator oceni wyrażenie i zwróci jedną wartość, jeśli jest prawdą, a drugą wartość, jeśli jest fałszem. To trochę jak krótka, zwarta instrukcja if.

Ruby's Operator trójskładnikowy ma swoje zastosowania, ale jest również nieco kontrowersyjny.

Przykład operatora trójskładnikowego

Spójrzmy na ten przykład:

Tutaj operator warunkowy służy do wyboru między dwoma łańcuchami. Całe wyrażenie operatora to wszystko, w tym warunkowe, znak zapytania, dwa ciągi 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 wyrażenie fałszywe. W tym przykładzie jest w nawiasach, więc nie koliduje z otaczającymi go operatorami konkatenacji łańcuchów.

Innymi słowy, operator warunkowy jest jak gdyby komunikat. Zapamietaj to gdyby sprawozdania w Ruby oszacuj do ostatniej wartości w bloku, który zostanie wykonany. Więc możesz przepisać poprzedni przykład tak:

instagram viewer

Ten kod jest funkcjonalnie równoważny i być może nieco łatwiejszy do zrozumienia. Gdyby ja jest większa niż 10, gdyby sama instrukcja oceni na ciąg „większy niż” lub na ciąg „mniejszy niż lub równa się. ”To jest to samo, co robi operator trójskładnikowy, tylko operator trójskładnikowy jest czymś więcej kompaktowy.

Zastosowania dla operatora trójskładnikowego

Jakie więc zastosowania ma operator trójskładnikowy? Ma zastosowania, ale nie ma ich wiele i bez niego można sobie dobrze poradzić.

Zwykle używa się go do podskakiwania w wartościach, w których warunki warunkowe byłyby zbyt duże. Jest również używany w przypisywaniu zmiennych, aby szybko wybierać między dwiema wartościami.

Oto dwa typowe przypadki użycia, które zobaczysz dla operatora trójskładnikowego:

Być może zauważyłeś, że wygląda to całkiem nie Rubinowo. Złożone wyrażenia po prostu nie należą do jednej linii w Rubim - zwykle są podzielone i łatwiejsze do odczytania. Jednak zobaczysz tego operatora 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 wybierania między dwiema wartościami za pomocą prostego warunkowego, możesz użyć tego. Jeśli robisz coś bardziej złożonego, prawdopodobnie powinieneś użyć gdyby instrukcja zamiast.