[Rd] "\0" gives no warning "unknown escape sequence" (PR#11107)
murdoch at stats.uwo.ca
Tue Apr 8 13:41:29 CEST 2008
volkmar.klatt at bnv-bamberg.de wrote:
> Full_Name: Volkmar Klatt
> Version: 2.6.2
> OS: linux
> Submission from: (NULL) (18.104.22.168)
> the documentation article
> from package:base could be improved by discussing
> the meaning of "\0" escape sequence.
> In R (currently used: R-2.6.2), a "\0" in a string will
> silently terminate that string, just as it would in C code.
> There is no warning about an unknown escape sequence.
> (cf. R FAQ 7.37)
> # example:
> s <- "abc\0def"
> # -->  "abc"
> # -->  3
> The "\0" seems to be so fundamental, that it cannot be handled by
> any R function, am I right?
Not quite. The parser will stop parsing a string when it hits one, but
you could embed one in a string using something like
> rawToChar(as.raw(c(97:99, 0, 100:102)))
> E.g., the function escapeBS (package:Hmisc) does not correctly
> handle "\0" sequences, that is in contrast to what is stated in its
> article ?escapeBS :
> "'escapeBS' will escape any backslash '\backslash' in a string.
But there was no backslash in that string, escapeBS only saw the "abc"
part that the parser gave it.
I don't know that the parser should be able to handle input like
"abc\0def", but it does make sense that it would, since that's a legal
> # example:
> # --> "abc"
> Volkmar Klatt
> volkmar.klatt AT bnv-bamberg.de
> R-devel at r-project.org mailing list
More information about the R-devel