Ce sunt operatorii ternari (condiționat) în Ruby?

Ternarul (sau condițional) operatorul va evalua o expresie și va returna o valoare dacă este adevărată și o altă valoare dacă este falsă. Este un pic ca o afirmație de tip shorthand, compact if.

Operatorul ternar al lui Ruby își folosește, dar este, de asemenea, un pic controversat.

Exemplu de operator ternar

Să ne uităm la acest exemplu:

Aici, operatorul condiționat este utilizat pentru a selecta între două șiruri. Întreaga expresie a operatorului este totul, inclusiv condiționalul, semnul de întrebare, două șiruri și punct. Formatul general al acestei expresii este următorul: condiționat? adevarat fals.

Dacă expresia condiționată este adevărată, operatorul va evalua drept expresia adevărată. În caz contrar, se va evalua ca expresie falsă. În acest exemplu, se află între paranteze, deci nu interferează cu operatorii de concatenare a șirurilor care îl înconjoară.

Altfel spus, operatorul condiționat este ca un dacă afirmație. Sa nu uiti asta dacă instrucțiunile din Ruby evaluează ultima valoare din blocul care este executat. Deci, puteți rescrie exemplul anterior astfel:

Acest cod este echivalent funcțional și poate un pic mai ușor de înțeles. Dacă eu este mai mare de 10, dacă declarația în sine va evalua șirul „mai mare decât” sau va evalua șirul „mai puțin sau egal cu”. Acesta este același lucru pe care îl face operatorul ternar, doar operatorul ternar este mai compact.

Utilizări pentru operatorul ternar

Deci, ce utilizări are operatorul ternar? Are întrebuințări, dar nu sunt multe și te poți înțelege bine fără el.

Este de obicei obișnuit cu pantofii cu valori în care condiționatele ar fi prea voluminoase. Este, de asemenea, utilizat în alocarea variabilelor pentru a selecta rapid între două valori. 

Iată două cazuri de utilizare tipice pe care le veți vedea pentru operatorul ternar:

Poate ai observat că acest lucru pare destul de neobișnuit. Expresiile complexe nu aparțin doar pe o singură linie din Ruby - este de obicei împărțit și mai ușor de citit. Totuși, veți vedea acest operator și acesta poate fi utilizat eficient fără a ieși din mână.

O regulă de urmat este că dacă utilizați acest operator pentru a selecta între două valori cu un condițional simplu, este OK să îl utilizați. Dacă faci ceva mai complex, ar trebui să folosești probabil un dacă declarație în schimb.