Ich sortiere einen Vektor nach zwei Kriterien. Der erste ist ein Gleitkomma, der NaN
sein kann, der zweite ist eine Zeichenfolge, die verwendet wird, um Bindungen lexikografisch zu brechen.Wie sortiere ich `NaN` so, dass es größer ist als jede andere Zahl und gleich einem anderen` NaN`?
vec.sort_by(|a, b| {
match (foo(a) as f64/bar(a) as f64).partial_cmp(&(foo(b) as f64/bar(b) as f64)) {
Some(x) => {
Ordering::Equal => name(a).cmp(name(b)),
other => other,
}
None() => {
//Not sure what to put here.
}
}
}
foo(a)
kehrt int> 0, bar(a)
kehrt int> = 0, name(a)
kehrt & String
.
Wie sortiere ich NaN
, so dass es größer als jede andere Nummer und gleich anderen NaN
(lexikographischer Tie-Breaker) ist?
Ich lachte über 'MyNanKey' und ich weiß nicht warum. –
@SimonWhitehead it * ist schrecklich nah an "Affen", oder? – Shepmaster