Re:Learning Rust via Advent of Code
by WakiMiko on Monday February 04, 2019 @01:58PM
(#19079436)
For sorting sequential fields you can chain comparisons with .then():
Alternatively you can derive PartialEq, PartialOrd, Eq and Ord for your struct, which will produce a lexicographic ordering based on the top-to-bottom declaration order of the struct's members:
[ Parent
| on HN ]
Or you can use sort_by_key and extract the relevant sorting key as a tuple (or any other Ord structure) e.g.
vec.sort_by_key(|d| (d.year, d.month, d.day))
sort_by is more flexible as it works fine with borrows, but when sorting on a series of integer values or references sort_by_key is great.> Alternatively you can derive PartialCmp for your struct, which will produce a lexicographic ordering based on the top-to-bottom declaration order of the struct's members:
Do you mean PartialOrd? partial_cmp is the method. And `sort` requires absolute ordering (Ord) not just partial.