Python, Java und Scala haben ternäre Operatoren. Was ist das Äquivalent in Julia?Hat Julia einen ternären Bedingungsoperator?
Antwort
Für die Inline-Verwendung, ein? b: c existiert, wie in der vorherigen Antwort erwähnt. Es ist jedoch erwähnenswert, dass das If-else-end in Julia genauso funktioniert (wenn cond expr1 expr2) in den meisten Lisp-Dialekten, die sowohl als if-Klausel als auch als ternärer Operator fungieren. Daher gibt if-then-else den Rückgabewert des Ausdrucks zurück, der ausgeführt wird.
Bedeutung, dass Sie Dinge wie
function abs(x)
if x > 0
x
else
-x
end
end
schreiben kann, und dies wird zurückkehren, was Sie wollen. Sie müssen nicht eine return-Anweisung verwenden, um den Funktionsblock zu unterbrechen. Sie geben nur den Wert zurück, der vom if-Block zurückgegeben wird.
Inline, können Sie
if (x > 0) x else -x end
schreiben, die die gleiche Sache wie der ternäre Operator Ausdruck (x> 0) zurückkehren wird? x: -x, aber hat den Vorteil, Perl-ish?: Symbole zu vermeiden und ist im Allgemeinen besser lesbar. Die meisten Sprachen haben einen ternären Operator, der von if-then-else getrennt ist, da if-Klauseln Anweisungen sind, während sie in lisp-ähnlichen Sprachen Ausdrücke wie alles andere sind und einen Rückgabewert haben.
Beziehen Sie sich auf this?
a = true
b = 1
c = 2
julia>a ? b : c
1
a = false
julia>a ? b : c
2
- 1. FizzBuzz mit ternären Bedingungsoperator
- 2. Hat VHDL einen ternären Operator?
- 3. Wie verwenden Sie die optionale Variable in einem ternären Bedingungsoperator?
- 4. Können wir einen Bedingungsoperator in ngClass hinzufügen?
- 5. Quadratische Gleichung mit Bedingungsoperator
- 6. Angular2 Bindung mit Bedingungsoperator
- 7. Twig - ternäre Bedingungsoperator
- 8. C# interpolierte Zeichenfolge mit Bedingungsoperator
- 9. Inkompatible Typen Operanden, wenn ternären bedingten Operator
- 10. Warum funktioniert mein Bedingungsoperator nicht?
- 11. JULIA: Wie man zufällig einen Vektor in Julia permutiert?
- 12. Wie Sie einen Hyperlink in einen ternären Operator einfügen
- 13. Hinzufügen der HTML-Tag in Bedingungsoperator
- 14. Verwenden von Bedingungsoperator ohne Zuweisen des Ergebnisses
- 15. Verketten in ternären Operator
- 16. Balancieren eines ternären Suchbaums
- 17. EL-Bedingungsoperator: in Verbundbauteil unerwartetem Verhalten
- 18. Julia - Rohr zu Julia REPL
- 19. Einen Typparameter als Funktionsparameter in Julia referenzieren
- 20. einen bestimmten Sub-Arrays in Julia Extrahierung
- 21. Julia: Anhängen an einen leeren Vektor
- 22. Julia DataFranes: Wie exportiere ich einen DataFrame?
- 23. Doppel ternären in JavaScript
- 24. Kompilierungsfehler mit ternären Operator
- 25. Requisiten und ternären Operator
- 26. Ausführung des ternären Operators
- 27. Neuformatierung des ternären Operators
- 28. Return-Anweisung ternären Operator
- 29. ungewöhnliche ternären Operation
- 30. initialisieren Arrays ternären Operator
Können Sie einen Versuch einfügen? Ich dachte, es sei dasselbe wie in C, C++ und Java. (Ich dachte auch, dass Scala 'if',' else' verwendet). – Bathsheba
Siehe [hier] (http://web.mit.edu/julia_v0.3.11/.julia-483dbf5279.amd64_ubuntu1404/share/julia/doc/_build/html/manual/control-flow.html) – Ahmad
http: // stackoverflow.com/documentation/julia-lang/4356/conditionals/15210/tarly-conditional-operator#t=201609301108357883321 – JJJ