Skip to contents

`card_rank()` retrieves the rank 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_rank(x, ...)

Arguments

x

A `card` object or a character vector of card ranks (e.g., "Two", "Jack").

...

Additional arguments passed to methods. Not used.

Value

Depending on the method:

card

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

character

The input character vector, unchanged.

Details

- For objects of class "card", card_rank.card(x) extracts the rank field via vctrs::field(x, "rank"), returning a character vector of card ranks (e.g., "Ace"). - If x is a character vector, card_rank.character(x) simply returns x unchanged. - For any other class, card_rank.default(x) throws an error.

Examples

deck <- create_shuffled_deck()
card_rank(deck)
#>   [1] "Three" "Ace"   "Five"  "Four"  "Four"  "Six"   "Six"   "Queen" "Nine" 
#>  [10] "Ace"   "Queen" "Ten"   "Two"   "Nine"  "Three" "Eight" "Ten"   "Ace"  
#>  [19] "Eight" "Seven" "Queen" "Two"   "Ace"   "Ace"   "Ten"   "Ace"   "Seven"
#>  [28] "Jack"  "Four"  "Eight" "Four"  "Ace"   "Jack"  "Nine"  "Two"   "Nine" 
#>  [37] "Four"  "Two"   "Seven" "Four"  "Jack"  "King"  "Nine"  "Two"   "Four" 
#>  [46] "Four"  "Five"  "Five"  "Four"  "Six"   "Six"   "Two"   "Nine"  "Eight"
#>  [55] "Ten"   "Nine"  "Queen" "Eight" "Ace"   "Nine"  "Five"  "Jack"  "Two"  
#>  [64] "Six"   "Eight" "Six"   "Two"   "Seven" "Four"  "King"  "Five"  "Queen"
#>  [73] "Six"   "King"  "King"  "Jack"  "Queen" "Jack"  "Eight" "Ten"   "Three"
#>  [82] "Jack"  "Nine"  "Queen" "Jack"  "Ten"   "Ace"   "Seven" "Queen" "Nine" 
#>  [91] "Eight" "Four"  "Four"  "Seven" "Queen" "King"  "Three" "King"  "Jack" 
#> [100] "Ace"   "Five"  "Five"  "Ten"   "Three" "Ten"   "Eight" "Queen" "King" 
#> [109] "Ten"   "Nine"  "Ace"   "Seven" "Four"  "Three" "Nine"  "Jack"  "King" 
#> [118] "Ace"   "Three" "Five"  "Queen" "Eight" "Jack"  "Jack"  "Five"  "Eight"
#> [127] "Six"   "Five"  "Six"   "Two"   "Four"  "Three" "Two"   "Jack"  "Seven"
#> [136] "King"  "Ten"   "Five"  "Nine"  "Ace"   "Two"   "Six"   "King"  "Eight"
#> [145] "Queen" "Ten"   "King"  "King"  "King"  "Two"   "Three" "Eight" "Ten"  
#> [154] "Two"   "Ten"   "Nine"  "Jack"  "Three" "Four"  "King"  "Eight" "Jack" 
#> [163] "Three" "Three" "Six"   "Ten"   "Six"   "Six"   "Two"   "Seven" "Seven"
#> [172] "Queen" "Ten"   "Seven" "Six"   "Queen" "Eight" "Ace"   "Five"  "Six"  
#> [181] "Four"  "Three" "Seven" "Queen" "Two"   "Nine"  "Eight" "Five"  "Three"
#> [190] "Three" "Five"  "Ten"   "Five"  "Two"   "Seven" "Nine"  "Jack"  "King" 
#> [199] "King"  "Six"   "Five"  "Queen" "Three" "Seven" "Ace"   "Ace"   "Seven"
#> [208] "Seven"

card_rank(c("Queen", "Two", "Ace"))
#> [1] "Queen" "Two"   "Ace"