.Platform                package:base                R Documentation

_P_l_a_t_f_o_r_m _S_p_e_c_i_f_i_c _V_a_r_i_a_b_l_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     '.Platform' is a list with some details of the platform under
     which R was built.  This provides means to write OS-portable R
     code.

_U_s_a_g_e:

     .Platform

_V_a_l_u_e:

     A list with at least the following components:

 OS.type: character string, giving the *O*perating *S*ystem (family) of
          the computer.  One of '"unix"' or '"windows"'. 

file.sep: character string, giving the *file* *sep*arator 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 *ext*ension of
          *dyn*amically loadable *lib*raries, 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 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"', '"none"' and perhaps others under
          alternative front-ends or embedded R), '"AQUA"' (running
          under 'R.app' on MacOS X), '"RGui"' and '"RTerm"' (Windows). 

  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* *sep*arator, 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. 

_S_e_e _A_l_s_o:

     '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.

_E_x_a_m_p_l_e_s:

     ## 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
     }

