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
NULLthen the output becomes empty string.
glue reminds me of string formatting in .NET languages. On the whole, that’s a good thing.