Skip to contents

`card_name()` retrieves the name 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_name(x, ...)

Arguments

x

A `card` object or a character vector of card names.

...

Additional arguments passed to methods. Not used.

Value

Depending on the method:

card

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

character

The input character vector, unchanged.

Details

- For objects of class "card", card_name.card(x) extracts the name field via vctrs::field(x, "name"), returning a character vector of card names (e.g., "A♠"). - If x is a character vector, card_name.character(x) simply returns x unchanged. - For any other class, card_name.default(x) throws an error.

Examples

deck <- create_shuffled_deck()
card_name(deck)
#>   [1] "8♦"  "9♣"  "J♥"  "7♣"  "J♦"  "8♥"  "A♠"  "J♠"  "Q♠"  "5♥"  "Q♠"  "3♣" 
#>  [13] "5♠"  "8♥"  "8♣"  "A♦"  "10♣" "10♣" "2♦"  "2♠"  "2♣"  "9♣"  "3♥"  "2♥" 
#>  [25] "A♣"  "3♣"  "7♥"  "5♠"  "6♠"  "8♦"  "3♥"  "K♦"  "9♥"  "2♦"  "8♠"  "K♣" 
#>  [37] "J♥"  "10♣" "4♣"  "4♦"  "J♦"  "K♣"  "7♠"  "3♠"  "J♠"  "5♠"  "8♣"  "A♥" 
#>  [49] "7♦"  "K♠"  "9♦"  "9♥"  "Q♦"  "Q♥"  "9♣"  "4♦"  "4♠"  "6♦"  "J♥"  "3♠" 
#>  [61] "6♦"  "8♥"  "6♣"  "3♦"  "2♣"  "9♠"  "10♦" "8♦"  "2♠"  "Q♣"  "2♦"  "4♣" 
#>  [73] "9♥"  "4♥"  "A♦"  "9♣"  "J♠"  "3♥"  "6♠"  "5♦"  "3♣"  "7♠"  "6♥"  "10♠"
#>  [85] "Q♦"  "J♦"  "K♥"  "10♥" "A♣"  "K♦"  "5♦"  "8♠"  "K♣"  "4♠"  "7♦"  "2♥" 
#>  [97] "7♥"  "A♥"  "9♠"  "A♥"  "10♥" "K♠"  "A♠"  "2♣"  "7♠"  "6♥"  "K♥"  "6♦" 
#> [109] "10♣" "4♣"  "5♥"  "10♦" "A♠"  "7♣"  "5♥"  "6♣"  "6♠"  "Q♥"  "6♣"  "8♥" 
#> [121] "6♠"  "5♣"  "Q♥"  "10♥" "Q♣"  "7♣"  "Q♠"  "9♦"  "A♣"  "4♦"  "8♠"  "3♣" 
#> [133] "2♥"  "5♥"  "9♦"  "10♠" "5♠"  "4♥"  "Q♠"  "4♥"  "9♠"  "8♠"  "2♠"  "6♥" 
#> [145] "J♣"  "J♠"  "6♥"  "8♣"  "4♠"  "10♦" "5♣"  "J♥"  "5♦"  "3♦"  "J♣"  "A♦" 
#> [157] "10♥" "4♦"  "Q♣"  "4♥"  "5♦"  "J♣"  "K♠"  "6♦"  "Q♦"  "9♥"  "7♣"  "A♠" 
#> [169] "2♠"  "10♠" "10♠" "8♦"  "Q♦"  "2♦"  "3♥"  "7♥"  "K♦"  "2♥"  "3♠"  "6♣" 
#> [181] "K♠"  "K♣"  "3♦"  "9♠"  "K♥"  "J♦"  "A♥"  "10♦" "4♣"  "9♦"  "7♦"  "7♦" 
#> [193] "8♣"  "5♣"  "A♣"  "5♣"  "Q♣"  "J♣"  "K♦"  "Q♥"  "3♦"  "7♠"  "3♠"  "4♠" 
#> [205] "2♣"  "7♥"  "A♦"  "K♥" 

card_name(c("A♠", "10♦", "K♥"))
#> [1] "A♠"  "10♦" "K♥"