.Platform {base} | R Documentation |
.Platform
is a list with some details of the platform under
which R was built. This provides means to write OS-portable R
code.
.Platform
A list with at least the following components:
OS.type |
character, giving the Operating System
(family) of the computer. One of "unix" or "windows" .
|
file.sep |
character, giving the file separator used on your
platform: "/" on both Unix-alikes and on Windows (but
not on the now abandoned port to Classic MacOS).
|
dynlib.ext |
character, giving the file name extension of
dynamically loadable libraries, e.g., ".dll" on
Windows and ".so" or ".sl" on Unix-alikes. (Note for
MacOS X users: these are shared objects as loaded by
dyn.load and not dylibs.)
|
GUI |
character, giving the type of GUI in use, or
"unknown" if no GUI can be assumed.
|
endian |
character, "big" or "little" , giving the
endianness of the processor in use. This is relevant when it is
necessary to know the order to read/write bytes of e.g. an integer or
double from/to a connection: see readBin .
|
pkgType |
character, the preferred setting for options("pkgType") .
Values "source" , "mac.binary" and "win.binary"
are currently in use.
|
path.sep |
character, giving the path separator,
used on your platform, e.g., ":" on Unix-alikes and
";" on Windows. Used to separate paths in variables
such as PATH and TEXINPUTS .
|
R.version
and Sys.info
give more details
about the OS. In particular, R.version$platform
is the
canonical name of the platform under which R was compiled.
.Machine
for details of the arithmetic used, and
system
for invoking platform-specific system commands.
## Note: this can be done in a system-independent way by file.info()$isdir if(.Platform$OS.type == "unix") { system.test <- function(...) { system(paste("test", ...)) == 0 } dir.exists <- function(dir) sapply(dir, function(d)system.test("-d", d)) dir.exists(c(R.home(), "/tmp", "~", "/NO"))# > T T T F }