## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup-------------------------------------------------------------------- library(charcuterie) ## ----------------------------------------------------------------------------- chars("string") # but it's a vector unclass(chars("string")) ## ----------------------------------------------------------------------------- many_chars <- lapply(c("foo", "bar", "baz"), chars) many_chars unclass(many_chars[[2]]) ## ----------------------------------------------------------------------------- string(chars("string")) ## ----------------------------------------------------------------------------- string(chars("string"), collapse = "|") ## ----------------------------------------------------------------------------- "string"[3] # doesn't work chars("string")[3] chars("banana")[seq(2, 6, 2)] ## ----------------------------------------------------------------------------- head("string", 3) # doesn't work head(chars("string"), 3) tail(chars("string"), 3) ## ----------------------------------------------------------------------------- word <- chars("string") word[3] <- "R" word ## ----------------------------------------------------------------------------- table("mississippi") # doesn't work table(chars("mississippi")) ## ----------------------------------------------------------------------------- sort("string") # doesn't work sort(chars("string")) sort(chars("string"), decreasing = TRUE) ## ----------------------------------------------------------------------------- rev("string") # doesn't work rev(chars("string")) ## ----------------------------------------------------------------------------- length("string") # just the one 'string' length(chars("string")) == nchar("string") ## ----------------------------------------------------------------------------- "i" %in% "rhythm" # doesn't work "y" %in% "rhythm" # doesn't work "i" %in% chars("rhythm") "y" %in% chars("rhythm") is.element("y", "rhythm") # doesn't work is.element("y", chars("rhythm")) ## ----------------------------------------------------------------------------- c("butter", "fly") # doesn't work in the character sense c(chars("butter"), chars("fly")) c(chars("butter"), chars("fly"))[c(1, 9)] ## ----------------------------------------------------------------------------- setdiff(chars("javascript"), chars("script")) union(chars("bunny"), chars("rabbit")) intersect(chars("bob"), chars("rob")) setequal(chars("stop"), chars("post")) setequal(chars("stop"), chars("posit")) unique(chars("mississippi")) ## ----------------------------------------------------------------------------- rev(toupper(chars("string"))) toString(chars("abc")) Filter(\(x) x != "a", "banana") Filter(\(x) x != "a", chars("banana")) ## ----------------------------------------------------------------------------- except(chars("javascript"), chars("script")) except(chars("carpet"), chars("car")) except(chars("banana"), "a") except(chars("banana"), chars("a")) ## ----------------------------------------------------------------------------- data.frame(number = 1:3, letter = chars("abc"))