On Jun 20, 2009, at 5:44 PM, Henrik Bengtsson wrote:
Hi, this is a bit of FYI, but also a question.
Is flag '#' in sprintf() format string "%#x" fully supported across
platforms? Can that be assumed? I discovered thanks to the r-forge
service, that this was not the case for OSX with "R version 2.9.0
Under development (unstable) (2009-01-13 r47593)", where R CMD check
reports the following:
Error in sprintf("%#x", values) :
use format %d, %i, %x or %X for integer objects
where values <- as.integer(1:5). Note it works well on other
platforms; I don't know about newer R version on OSX. Should I
consider this a glitch in an old version of R (newer R version do a
much better validation here), or should I simply avoid '#'?
Thanks,
/Henrik
Henrik,
Using:
R version 2.9.0 Patched (2009-06-05 r48712)
on a fully updated OSX 10.5.7 MacBook Pro:
values <- 1:5
> sprintf("%#x", values)
[1] "0x1" "0x2" "0x3" "0x4" "0x5"
Note that the as.integer() is not needed, as ':' will return integers
if both from and to values are integers:
> str(values)
int [1:5] 1 2 3 4 5
The only comment that I see in NEWS that may be relevant here for
2.9.0 is:
o sprintf() does stricter error checking on input formats to
avoid passing invalid formats to the OS (which have a tendency
to crash under such inputs).
HTH,
Marc Schwartz
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel