[R] system-independent path for source()
David R. Bickel
dbickel at mail.mcg.edu
Wed Feb 20 23:07:43 CET 2002
That looks good, except the hard disk name should be kept separate from
the user-specified path. Otherwise, a call from MacOS that uses an
absolute path will not work on UNIX.
I suggest modifying your file.path interface:
file.path<-function (..., fsep = .Platform$file.sep,absolute=FALSE,
hard.disk.name = "C") {}
If .Platform$OS.type=="mac" and absolute, then hard.disk.name would be
added to the beginning of the path.
This way, file.path("Users","thomas",absolute=TRUE, hard.disk.name =
"Macintosh HD") would work for both MacOS and UNIX. I think this
interface could also be made to work with Windows.
On Wednesday, February 20, 2002, at 04:32 †, Thomas Lumley wrote:
> On Wed, 20 Feb 2002, Prof Brian Ripley wrote:
>
>> All contributions welcome, Thomas!
>
> This seems to be a bit better than the current version, and I'll add it
>
> file.path<-function (..., fsep = .Platform$file.sep,absolute=FALSE) {
> rval<-paste(..., sep = fsep)
> if (xor(absolute,.Platform$OS.type=="mac"))
> rval<-paste("",rval,sep=fsep)
> rval
> }
>
> so now I can do
> file.path("Macintosh HD","Users","thomas",absolute=TRUE)
> or
> file.path("Users","thomas")
> for a relative path.
>
> The real question is what to do about disks. In Windows you need the
> disk
> name to find files on other disks but on the Mac you seem to need the
> disk name even to find the root of the current disk.
>
> It could be taken from getwd() but that seems to make file.path() a lot
> more complicated and less portable.
>
> -thomas
>
>
http://www.mcg.edu/research/biostat/bickel.html
David R. Bickel, PhD
Assistant Professor
Medical College of Georgia
Office of Biostatistics and Bioinformatics
1120 Fifteenth St., AE-3037
Augusta, GA 30912-4900
Tel.: 706-721-4697; Fax: 706-721-6294
E-mail: dbickel at mail.mcg.edu or bickel at prueba.info
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list