Als «conditional-operator» getaggte Fragen

Der bedingte Operator ist ein ternärer Operator, der Teil der Syntax für einen grundlegenden bedingten Ausdruck in mehreren Programmiersprachen ist. Es wird auch allgemein als ternärer Operator oder Inline bezeichnet, wenn. Verschiedene Sprachen haben unterschiedliche Syntax für dasselbe Konstrukt, aber alle wählen basierend auf einer Bedingung zwischen einer von zwei Optionen.



17
Vorteile der Verwendung des bedingten ?: (Ternären) Operators
Was sind die Vor- und Nachteile des ?: Operators im Gegensatz zur Standard-if-else-Anweisung. Die offensichtlichen sind: Bedingt?: Operator Kürzer und prägnanter beim Umgang mit direkten Wertevergleichen und Zuordnungen Scheint nicht so flexibel zu sein wie das if / else-Konstrukt Standard If / Else Kann auf mehrere Situationen angewendet werden (z. …




12
Warum hat Java keine zusammengesetzten Zuweisungsversionen der Bedingungs- und und Bedingungs- oder Operatoren? (&& =, || =)
Also für binäre Operatoren auf booleans, Java hat &, |, ^, &&und ||. Fassen wir hier kurz zusammen, was sie tun: JLS 15.22.2 Boolesche logische Operatoren &, ^ und | JLS 15.23 Bedingter und Betreiber && JLS 15.24 Bedingter oder Operator || Für &ist der Ergebniswert , truewenn beide Operanden …


5
Ruby ternärer Operator ohne sonst
Gibt es eine Rubinsprache für "If do-this" und "do-this" nur als einfachen Befehl? Zum Beispiel mache ich gerade object.method ? a.action : nil um die else-Klausel leer zu lassen, aber ich denke, es gibt wahrscheinlich einen idiomatischeren Weg, dies zu tun, bei dem am Ende keine Null angegeben werden muss. …




4
Auto-Unboxing benötigt ternäres if-else
Dieser Code funktioniert gut: - Integer nullInt = null; if (1 <= 3) { Integer secondNull = nullInt; } else { Integer secondNull = -1; } System.out.println("done"); Dies löst jedoch eine Nullzeigerausnahme aus, während Eclipse warnt, dass ein automatisches Entpacken erforderlich ist: - Integer nullInt = null; Integer secondNull = …

5
C ++ ternäre Zuordnung von Lambda
Irgendeine Idee, warum das folgende Snippet nicht kompiliert wird? Es beschwert sich mit einem Fehler "Fehler: Operanden zu ?: Haben verschiedene Typen" auto lambda1 = [&](T& arg) { ... }; auto lambda2 = [&](T& arg) { ... }; auto lambda = condition ? lambda1 : lambda2;

1
Seltsames ternäres Java-Verhalten beim Zuweisen von Werten. Was macht Java hinter den Kulissen, damit dies geschieht?
Vor einigen Tagen stieß ich auf ein faszinierendes Szenario, in dem ich keine Dokumentation darüber finden konnte, wie oder warum Java Folgendes zulässt. (Dieses Snippet ist nur eine vereinfachte Form des Fehlers.) @Test public void test() { boolean bool = false; Integer intVal = Integer.valueOf(5); Long longVal = null; Long …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.