Evgeni Chasnovski shows the glue
package and also works around some trickiness with NULL:
Recently, fate lead me to try using {glue} in a package. I was very pleased to how it makes code more readable, which I believe is a very important during package development. However, I stumbled upon this pretty unexpected behavior:
y <- NULL paste("I have", x, "apples and", y, "oranges.") ## [1] "I have 10 apples and oranges." str(glue("I have {x} apples and {y} oranges.")) ## Classes 'glue', 'character' chr(0)
If one of the expressions is evaluated into
NULL
then the output becomes empty string.
glue
reminds me of string formatting in .NET languages. On the whole, that’s a good thing.