Welcome to Poker on Exercism's Rust Track.
If you need help running the tests or submitting your code, check out HELP.md
.
Pick the best hand(s) from a list of poker hands.
See wikipedia for an overview of poker hands.
- Ranking a list of poker hands can be considered a sorting problem.
- Rust provides the sort method for
Vec<T> where T: Ord
. Ord
types form a total order: exactly one ofa < b
,a == b
, ora > b
must be true.- Poker hands do not conform to a total order: it is possible for two hands to be non-equal but have equal sort order. Example:
"3S 4S 5D 6H JH"
,"3H 4H 5C 6C JD"
. - Rust provides the
PartialOrd
trait to handle the case of sortable things which do not have a total order. However, it doesn't provide a standardsort
method forVec<T> where T: PartialOrd
. The standard idiom to sort a vector in this case isyour_vec.sort_by(|a, b| a.partial_cmp(b).unwrap_or(Ordering::{Less|Equal|Greater}));
, depending on your needs. - You might consider implementing a type representing a poker hand which implements
PartialOrd
.
- @coriolinus
- @Baelyk
- @CGMossa
- @cwhakes
- @efx
- @elektronaut0815
- @ErikSchierboom
- @lutostag
- @nfiles
- @PaulDance
- @petertseng
- @rofrol
- @stringparser
- @xakon
- @ZapAnton
Inspired by the training course from Udacity. - https://www.udacity.com/course/design-of-computer-programs--cs212