Skip to contents

`card_suit()` retrieves the suit field from a vctrs "card" record (class "card"). When applied to a plain character vector, it returns the vector unchanged. This function was specifically designed to work with vctrs "card" objects created by create_shuffled_deck().

Usage

card_suit(x, ...)

Arguments

x

A `card` object or a character vector of card suits (e.g., "Spade", "Heart").

...

Additional arguments passed to methods. Not used.

Value

card

A character vector containing the `suit` field of each card.

character

The input character vector, unchanged.

Details

- For objects of class "card", card_suit.card(x) extracts the suit field via vctrs::field(x, "suit"), returning a character vector of card suits (e.g., "Hearts"). - If x is a character vector, card_suit.character(x) returns x unchanged. - For other types, card_suit.default(x) throws an error.

Examples

deck <- create_shuffled_deck()
card_suit(deck)
#>   [1] "Club"    "Diamond" "Spade"   "Heart"   "Heart"   "Heart"   "Heart"  
#>   [8] "Club"    "Club"    "Heart"   "Club"    "Heart"   "Heart"   "Diamond"
#>  [15] "Diamond" "Diamond" "Heart"   "Club"    "Diamond" "Heart"   "Heart"  
#>  [22] "Diamond" "Diamond" "Heart"   "Heart"   "Club"    "Heart"   "Diamond"
#>  [29] "Spade"   "Spade"   "Spade"   "Spade"   "Heart"   "Spade"   "Club"   
#>  [36] "Spade"   "Diamond" "Club"    "Diamond" "Spade"   "Club"    "Diamond"
#>  [43] "Heart"   "Heart"   "Spade"   "Diamond" "Heart"   "Spade"   "Spade"  
#>  [50] "Spade"   "Heart"   "Spade"   "Spade"   "Club"    "Spade"   "Club"   
#>  [57] "Spade"   "Spade"   "Club"    "Diamond" "Club"    "Diamond" "Club"   
#>  [64] "Diamond" "Diamond" "Spade"   "Heart"   "Club"    "Diamond" "Heart"  
#>  [71] "Spade"   "Heart"   "Club"    "Club"    "Club"    "Spade"   "Club"   
#>  [78] "Spade"   "Spade"   "Spade"   "Heart"   "Heart"   "Spade"   "Club"   
#>  [85] "Heart"   "Diamond" "Club"    "Club"    "Diamond" "Club"    "Diamond"
#>  [92] "Diamond" "Heart"   "Heart"   "Diamond" "Club"    "Spade"   "Heart"  
#>  [99] "Diamond" "Spade"   "Club"    "Spade"   "Club"    "Spade"   "Spade"  
#> [106] "Heart"   "Club"    "Club"    "Diamond" "Diamond" "Club"    "Diamond"
#> [113] "Heart"   "Diamond" "Club"    "Heart"   "Spade"   "Heart"   "Heart"  
#> [120] "Heart"   "Heart"   "Spade"   "Club"    "Diamond" "Diamond" "Spade"  
#> [127] "Club"    "Heart"   "Diamond" "Club"    "Diamond" "Club"    "Heart"  
#> [134] "Heart"   "Diamond" "Heart"   "Diamond" "Heart"   "Spade"   "Diamond"
#> [141] "Diamond" "Heart"   "Heart"   "Club"    "Heart"   "Club"    "Spade"  
#> [148] "Heart"   "Club"    "Club"    "Diamond" "Club"    "Spade"   "Spade"  
#> [155] "Heart"   "Diamond" "Spade"   "Club"    "Spade"   "Diamond" "Spade"  
#> [162] "Diamond" "Spade"   "Spade"   "Spade"   "Diamond" "Club"    "Club"   
#> [169] "Club"    "Club"    "Spade"   "Spade"   "Diamond" "Heart"   "Club"   
#> [176] "Heart"   "Diamond" "Spade"   "Spade"   "Diamond" "Diamond" "Heart"  
#> [183] "Diamond" "Spade"   "Heart"   "Club"    "Heart"   "Club"    "Diamond"
#> [190] "Diamond" "Diamond" "Heart"   "Diamond" "Diamond" "Heart"   "Club"   
#> [197] "Spade"   "Spade"   "Club"    "Diamond" "Spade"   "Club"    "Club"   
#> [204] "Club"    "Heart"   "Diamond" "Spade"   "Spade"  

card_suit(c("Hearts", "Spades"))
#> [1] "Hearts" "Spades"