When a value from an inline R expression is a character vector of multiple
elements, we may want to combine them into a phrase like a and b, or
a, b, and c
. That is what this a helper function does.
combine_words(
words,
sep = ", ",
and = " and ",
before = "",
after = before,
oxford_comma = TRUE
)
A character string marked by xfun::raw_string()
.
If the length of the input words
is smaller than or equal to 1,
words
is returned. When words
is of length 2, the first word
and second word are combined using the and
string, or if blank,
sep
if is used. When the length is greater than 2, sep
is used
to separate all words, and the and
string is prepended to the last
word.
combine_words("a")
#> a
combine_words(c("a", "b"))
#> a and b
combine_words(c("a", "b", "c"))
#> a, b, and c
combine_words(c("a", "b", "c"), sep = " / ", and = "")
#> a / b / c
combine_words(c("a", "b", "c"), and = "")
#> a, b, c
combine_words(c("a", "b", "c"), before = "\"", after = "\"")
#> "a", "b", and "c"
combine_words(c("a", "b", "c"), before = "\"", after = "\"", oxford_comma = FALSE)
#> "a", "b" and "c"