Self::default()
}
- pub fn get_with_rules(&mut self, rules: &Rules) -> Cards {
+ pub fn get_with_rules(&mut self, rules: &Rules) -> Result<Cards, MyError> {
let v = match rules {
- Rules::Classic => self.get(5),
+ Rules::Classic => self.get(5)?,
- Rules::Holdem => self.get(2),
+ Rules::Holdem => self.get(2)?,
};
- v.unwrap()
+ Ok(v)
}
- pub fn get_with_rules_and_player_nb(&mut self, rules: &Rules, player_nb: usize) -> Vec<Cards> {
+ pub fn get_with_rules_and_player_nb(
+ &mut self,
+ rules: &Rules,
+ player_nb: usize,
+ ) -> Result<Vec<Cards>, MyError> {
(0..player_nb)
.into_iter()
- .map(|_| self.get_with_rules(rules))
+ .map(|_| Ok(self.get_with_rules(rules)?))
.collect()
}
- pub fn get(&mut self, n: usize) -> Option<Cards> {
+ pub fn get(&mut self, n: usize) -> Result<Cards, MyError> {
if self.0 .0.len() < n {
- None
+ Err(MyError::IndexError)
} else {
- Some(Cards(self.0 .0.split_off(self.0 .0.len() - n)))
+ Ok(Cards(self.0 .0.split_off(self.0 .0.len() - n)))
}
}