| .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 string, giving the Operating System
(family) of the computer. One of "unix" or "windows".
|
file.sep |
character string, 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 string, giving the file name extension of
dynamically loadable libraries, e.g., ".dll" on
Windows and ".so" or ".sl" on Unix-alikes. (Note for
Mac OS X users: these are shared objects as loaded by
dyn.load and not dylibs: see dyn.load.)
|
GUI |
character string, giving the type of GUI in use, or "unknown"
if no GUI can be assumed. Possible values are for Unix-alikes the
values given via the -g command-line flag ("X11",
"Tk", "GNOME"), "AQUA" (running under
R.app on MacOS X), "Rgui" and "RTerm"
(Windows) and perhaps others under alternative front-ends or embedded R.
|
endian |
character string, "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 string, the preferred setting for
options("pkgType"). Values "source",
"mac.binary" and "win.binary" are currently in use.
|
path.sep |
character string, 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_arch |
character string, possibly "". The name of the
architecture-specific directories used in this build of R.
|
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
}