ternar (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.
Ruby operatorul ternar are utilizările sale, 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ă declaraţii în Ruby evaluați la 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ă Instrucțiunea în sine va evalua șirul „mai mare decât” sau va evalua șirul „mai mic decât sau egal cu. "Acesta este același lucru pe care îl face operatorul ternar, numai operatorul ternar este mai mult 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.
De obicei, este folosit pentru încălțăminte în 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 unei linii din Ruby - de obicei este î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, probabil că ar trebui să folosești un dacă declarație în schimb.