Julia 中多个条件的三元运算符

sto*_*ner 3 conditional-operator julia

我有 Julia 代码,如图所示

if cxp1_v1 < cxp1_v2 
    d_min = cxp1_v1 
    d_max = cxp1_v2 
else 
    d_min = cxp1_v2
    d_max = cxp1_v1 
end
Run Code Online (Sandbox Code Playgroud)

或者

if cxp1_v1 < cxp1_v2 d_min, d_max = cxp1_v1, cxp1_v2 else d_min,  d_max  = cxp1_v2, cxp1_v1 end
Run Code Online (Sandbox Code Playgroud)

有没有办法在三元运算符中完成同样的任务?我尝试了如图所示的东西

cxp1_v1 < cxp1_v2 ? d_min, d_max = cxp1_v1, cxp1_v2:d_min,  d_max  = cxp1_v2, cxp1_v1
Run Code Online (Sandbox Code Playgroud)

但我得到

syntax: colon expected in "?" expression

Stacktrace:
 [1] top-level scope
   @ In[422]:11
 [2] eval
   @ ./boot.jl:373 [inlined]
 [3] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
   @ Base ./loading.jl:1196
Run Code Online (Sandbox Code Playgroud)

Bog*_*ski 7

cxp1_v1 < cxp1_v2 ? (d_min, d_max) = (cxp1_v1, cxp1_v2) : (d_min, d_max) = (cxp1_v2, cxp1_v1)
Run Code Online (Sandbox Code Playgroud)

但我可能会把它写成:

d_min, d_max = cxp1_v1 < cxp1_v2 ? (cxp1_v1, cxp1_v2) : (cxp1_v2, cxp1_v1)
Run Code Online (Sandbox Code Playgroud)

因为它看起来更容易阅读,甚至:

d_min, d_max = minmax(cxp1_v1, cxp1_v2)
Run Code Online (Sandbox Code Playgroud)