Wat zijn Ternary (voorwaardelijke) operators in Ruby?

Het drieluik (of voorwaardelijk) operator zal een uitdrukking evalueren en een waarde als deze waar is, en een andere waarde als deze onwaar is. Het is een beetje als een steno, compact als statement.

De ternaire operator van Ruby heeft zijn toepassingen, maar het is ook een beetje controversieel.

Ternary Operator-voorbeeld

Laten we dit voorbeeld bekijken:

Hier wordt de voorwaardelijke operator gebruikt om te kiezen tussen twee strings. De gehele operatoruitdrukking is alles inclusief het voorwaardelijke, vraagteken, twee tekenreeksen en de dubbele punt. Het algemene formaat van deze uitdrukking is als volgt: voorwaardelijk ? waar onwaar.

Als de voorwaardelijke uitdrukking waar is, wordt de operator geëvalueerd als de ware uitdrukking. Anders wordt het geëvalueerd als de valse uitdrukking. In dit voorbeeld staat het tussen haakjes, dus het interfereert niet met de stringoperatoren eromheen.

Anders gezegd, de voorwaardelijke operator is als een als uitspraak. Onthoud dat als statements in Ruby worden geëvalueerd tot de laatste waarde in het blok dat wordt uitgevoerd. Dus je zou het vorige voorbeeld zo kunnen herschrijven:

Deze code is functioneel equivalent en misschien een beetje eenvoudiger te begrijpen. Als ik is groter dan 10, de als statement zelf zal evalueren naar de string "groter dan" of zal evalueren naar de string "kleiner dan of gelijk aan". Dit is hetzelfde als wat de ternaire operator doet, alleen de ternaire operator is compacter.

Gebruik voor de Ternary-operator

Welk gebruik heeft de ternaire operator? Het heeft wel gebruik, maar er zijn er niet veel en je zou het prima zonder elkaar kunnen vinden.

Het wordt meestal gebruikt om te schoenlezen in waarden waarbij de conditionals te omvangrijk zijn. Het wordt ook gebruikt in variabele toewijzing om snel tussen twee waarden te selecteren. 

Hier zijn twee typische gebruiksgevallen die u voor de ternaire operator zult zien:

Je hebt misschien gemerkt dat dit er vrij onrijp uitziet. Complexe uitdrukkingen horen gewoon niet thuis op één regel in Ruby - het is meestal opgesplitst en gemakkelijker te lezen. U zult deze operator echter zien en deze kan effectief worden gebruikt zonder uit de hand te lopen.

Een regel om te volgen is dat als u deze operator gebruikt om tussen twee waarden met een eenvoudige voorwaardelijke keuze te kiezen, het OK is om te gebruiken. Als je iets complexers doet, zou je waarschijnlijk een moeten gebruiken als verklaring in plaats daarvan.