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

if cxp1_v1 < cxp1_v2 d_min, d_max = cxp1_v1, cxp1_v2 else d_min,  d_max  = cxp1_v2, cxp1_v1 end

是否有一种方法可以在三元操作符中完成相同的操作?我尝试了如下所示

cxp1_v1 < cxp1_v2 ? d_min, d_max = cxp1_v1, cxp1_v2:d_min,  d_max  = cxp1_v2, cxp1_v1

但是我得到

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
cxp1_v1 < cxp1_v2 ? (d_min, d_max) = (cxp1_v1, cxp1_v2) : (d_min, d_max) = (cxp1_v2, cxp1_v1)

但是我可能会这样写:

d_min, d_max = cxp1_v1 < cxp1_v2 ? (cxp1_v1, cxp1_v2) : (cxp1_v2, cxp1_v1)

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

d_min, d_max = minmax(cxp1_v1, cxp1_v2)

最新更新