pub fn is_solo_chain(cards: &[Card]) -> bool {
        let mut prev: u32 = 0;

        cards.iter().fold(true, |ret, curr| {
            if prev == 0 {
                prev = curr.value;
                true
            } else if !ret {
                false
            } else if prev + 1 == curr.value {
                prev = curr.value;
                true
            } else {
                false
            }
        }) && cards.len() >= 5
    }
// cards' value has already sorted in ascending
cards' value has already sorted in ascending
cards ' value has already sorted in ascending
pub fn is_solo_chain(cards: &[Card]) -> bool {
        let mut prev: u32 = 0;
        cards.iter().fold(true, |ret, curr| {
            if prev == 0 {
                prev = curr.value;
                true
            } else if !ret {
                false
            } else if prev + 1 == curr.value {
                prev = curr.value;
                true
            } else {
                false
            }
        }) && cards.len() >= 5
    }
pub fn is_solo_chain ( cards : & [ Card ] ) -> bool { let mut prev : u32 = 0 ; cards . iter ( ) . fold ( true , | ret , curr | { if prev == 0 { prev = curr . value ; true } else if ! ret { false } else if prev + 1 == curr . value { prev = curr . value ; true } else { false } } ) && cards . len ( ) >= 5 }
cards' value has already sorted in ascending
cards ' value has already sorted in ascending
cards
&[Card]
cards
&[Card]