> < 在两个向量之间使用运算符时解释?
>
<
我尝试了以下变化:
vec![5,5,5] > vec![1,1,1] true vec![5] > vec![1,1,1] 退货 是的 vec![5,0] > vec![6,1] 退货 false vec![1,5,2] > vec![0,6,1] 是的
vec![5,5,5] > vec![1,1,1]
true
vec![5] > vec![1,1,1]
是的
vec![5,0] > vec![6,1]
false
vec![1,5,2] > vec![0,6,1]
似乎只有第一个元素被用来确定输出,向量大小的差异和其他元素被忽略。 应该是这样吗?
数组似乎也以同样的方式响应 > / < 运算符,唯一的区别是两个操作数数组的大小应该相同。
这叫 lexicographic order vec![5,5,5] > vec![5,5,6] 退货 false ,或一般情况下:
vec![5,5,5] > vec![5,5,6]
vec![x, y] > vec![x, y - k ] // true for any k > 0 and (y - k) valid vec![x, y, z] > vec![x, a, b] // same result as vec![y, z] > vec![a, b]
Vec 's Ord implementation also documents the comparison 作为词典编纂者。
Vec
Ord