plu_ral()
now accepts vectors for arguments
n
and pl
.
plu_ral(c("word", "phrase"), n = c(1, 2))
returns
c("word", "phrases")
.plu_ral()
argument n_fn
is now
deprecated.plu_stick()
is now defunct.plu_ralize()
.
plu_ralize()
in your package
without depending on plu
, using the staticimports
package.plu_ralize()
.
plu_ral()
and
plu_more()
, which use plu_ralize()
internally.plu_stick()
in favor of
knitr::combine_words()
or
glue::glue_collapse()
.plu_ral()
now supports arbitrary delimiters for special
sequences.
plu_ral("attorney [general]", open = "[", close = "]")
produces “attorneys general”.plu_ral()
now supports {braced|pipe} sequences of
indefinite length.
plu_ral("{one|two|three|more}", n = 3)
produces
“three”.plu_ral("{one|two|three|more}", n = 50)
produces
“more”.open
and close
.plu_ralize()
.
plu_ral()
and
plu_more()
, which use plu_ralize()
internally.plu_ral()
now correctly handles {braced} strings that
contain sentence breaks.
plu_ral()
now correctly handles {braced|pipe} sequences
when pl
is set to FALSE
.
plu_ral("{singular|plural}", pl = FALSE)
now returns
"singular"
instead of incorrectly returning
"plural"
.plu_ralize()
now correctly handles ALL-CAPS words where
their lowercase equivalent has an irregular plural.
plu_ralize("CHILD")
now returns "CHILDs"
instead of incorrectly returning "Children"
.is_capital(strict = TRUE)
now correctly handles
non-character inputs.
is_capital(1, strict = TRUE)
no returns
FALSE
instead of incorrectly returning
NA
.crayon
if it is installed.plu::stick()
now produce
errors.rlang
and
stringi
.backports
.plu::more()
limits a vector to the first
n
elements with a message for remaining elements.
plu::more(letters, max = 2)
yields
c("a", "b", "24 more characters")
.The convenience function get_fun()
finds a function
using a character string or unquoted function name, with or without
colons.
plu::ral()
now ensures that the capitalization of a
phrase stays the same after pluralizing.
plu::ral("A sentence.")
now results in “Sentences.”
rather than “sentences.”Convenience functions around capitalization have been added:
is_capital()
tests if a character (or string of
characters) is capital or lowercase.is_capitalized()
tests if the first alphabetic
character in a string is capital.capitalize()
converts the first alphabetic character in
a string to capital.
tools::toTitleCase()
or
stringr::str_to_sentence()
, this does not change the
capitalization of any subsequent characters.plu::stick()
’s oxford
now defaults to
FALSE
rather than depending on the user’s environment.plu::stick()
’s syndeton
is now deprecated
in favor of explicitly setting sep
and
conj
.plu::stick()
’s fn
and ...
are
now deprecated in favor of applying a function to x
before
passing it into plu::stick()
.pkgdown
site.DESCRIPTION
.?plu
).plu::ral()
from inside other
functions.