pub enum Suit {
Club = 0,
Spade = 1,
Heart = 2,
Diamond = 3,
}Expand description
Indicates the suit of a card.
Suits can be converted from Strings or &strs.
The formats for this are the same formats used by Display and Debug.
See the descriptions for TryFrom<String> and TryFrom<&str> below for details.
§Examples
Parsing suits from strings:
use std::convert::TryFrom;
assert_eq!(Ok(Suit::Club), Suit::try_from("Club"));
assert_eq!(Ok(Suit::Club), Suit::try_from("Clubs"));
assert_eq!(Ok(Suit::Spade), Suit::try_from("spade"));
assert_eq!(Ok(Suit::Heart), Suit::try_from("H"));
assert_eq!(Ok(Suit::Diamond), Suit::try_from("d"));A formatted suit can be converted back to the original suit:
// Formatted using Display
assert_eq!(Ok(Suit::Club), Suit::try_from(Suit::Club.to_string()));
// Formatted using Debug
assert_eq!(Ok(Suit::Club), Suit::try_from(format!("{:?}", Suit::Club)));Variants§
Implementations§
Trait Implementations§
Source§impl TryFrom<String> for Suit
impl TryFrom<String> for Suit
Source§fn try_from(string: String) -> Result<Suit, Self::Error>
fn try_from(string: String) -> Result<Suit, Self::Error>
Converts a String to a Suit.
The string must be one of the following: “Club”, “Clubs”, “C”, “Spade”, “Spades”, “S”, “Heart”, “Hearts”, “H”, “Diamond”, “Diamonds” or “D”. These strings are case-insensitive.
§Examples
assert_eq!(Ok(Suit::Club), Suit::try_from(String::from("Club")));
assert_eq!(Ok(Suit::Club), Suit::try_from(String::from("Clubs")));
assert_eq!(Ok(Suit::Club), Suit::try_from(String::from("C")));
assert_eq!(Ok(Suit::Heart), Suit::try_from(String::from("heart")));
assert_eq!(Ok(Suit::Heart), Suit::try_from(String::from("hearts")));
assert_eq!(Ok(Suit::Heart), Suit::try_from(String::from("h")));impl Copy for Suit
impl Eq for Suit
impl StructuralPartialEq for Suit
Auto Trait Implementations§
impl Freeze for Suit
impl RefUnwindSafe for Suit
impl Send for Suit
impl Sync for Suit
impl Unpin for Suit
impl UnwindSafe for Suit
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more