Das ternär (oder bedingt) Der Operator wertet einen Ausdruck aus und gibt einen Wert zurück, wenn er wahr ist, und einen anderen Wert, wenn er falsch ist. Es ist ein bisschen wie eine Abkürzung, kompakte if-Anweisung.
Ruby's Der ternäre Operator hat seine Verwendung, ist aber auch etwas umstritten.
Beispiel für einen ternären Operator
Schauen wir uns dieses Beispiel an:
Hier wird der bedingte Operator verwendet, um zwischen zwei Zeichenfolgen auszuwählen. Der gesamte Operatorausdruck besteht aus der Bedingung, dem Fragezeichen, zwei Zeichenfolgen und dem Doppelpunkt. Das allgemeine Format dieses Ausdrucks lautet wie folgt: bedingt? wahr falsch.
Wenn der bedingte Ausdruck wahr ist, wird der Operator als wahrer Ausdruck ausgewertet. Andernfalls wird es als falscher Ausdruck ausgewertet. In diesem Beispiel steht es in Klammern, sodass die umgebenden Zeichenfolgenverkettungsoperatoren nicht beeinträchtigt werden.
Anders ausgedrückt ist der bedingte Operator wie ein wenn Erklärung. Erinnere dich daran
wenn Aussagen in Ruby bis zum letzten Wert im Block auswerten, der ausgeführt wird. Sie können das vorherige Beispiel also folgendermaßen umschreiben:Dieser Code ist funktional äquivalent und möglicherweise etwas einfacher zu verstehen. Wenn ich ist größer als 10, die wenn Die Anweisung selbst wird als Zeichenfolge "größer als" oder als Zeichenfolge "kleiner als oder" ausgewertet gleich. "Dies ist das gleiche, was der ternäre Operator tut, nur der ternäre Operator ist mehr kompakt.
Verwendung für den ternären Operator
Welchen Nutzen hat der ternäre Operator? Es hat Verwendungszwecke, aber es gibt nicht viele, und ohne es könnte man gut auskommen.
Es wird normalerweise verwendet, um Werte einzugeben, bei denen die Bedingungen zu sperrig sind. Es wird auch bei der Variablenzuweisung verwendet, um schnell zwischen zwei Werten zu wählen.
Hier sind zwei typische Anwendungsfälle für den ternären Operator:
Sie haben vielleicht bemerkt, dass dies ziemlich un-Ruby aussieht. Komplexe Ausdrücke gehören in Ruby einfach nicht in eine Zeile - sie sind normalerweise aufgeteilt und leichter zu lesen. Sie werden diesen Operator jedoch sehen und er kann effektiv verwendet werden, ohne außer Kontrolle zu geraten.
Eine zu befolgende Regel lautet: Wenn Sie diesen Operator verwenden, um mit einer einfachen Bedingung zwischen zwei Werten auszuwählen, ist die Verwendung in Ordnung. Wenn Sie etwas komplexeres tun, sollten Sie wahrscheinlich ein verwenden wenn Aussage stattdessen.