On Thu, 27 Jan 2005, Liaw, Andy wrote:
From: Roger Bivand
On Thu, 27 Jan 2005, Prof Brian Ripley wrote:
being loaded?On Thu, 27 Jan 2005, Adrian Baddeley wrote:
Greetings -
Is it possible, inside .First.lib, to find out the version number of the package that isassumptions about the
If only one version of the package has been installed, we could scan the DESCRIPTION file, something like
.First.lib <- function(lib, pkg) { library.dynam("spatstat", pkg, lib) dfile <- system.file("DESCRIPTION", package="spatstat") ttt <- scan(dfile, what="", sep="^M", quiet=TRUE)[2]
"\n" not "^M", please, and readLines is better than scan here.
vvv <- strsplit(ttt," ")[[1]][2] cat("spatstat version number",vvv,"\n") }
but even this does not seem very safe (it makesinformation informat of the DESCRIPTION file).
It is better to use read.dcf or the installed descriptionpackage.rds. Take a look at how library() does this.
Or even packageDescription() in utils, which uses read.dcf() and should be a way of making sure you get the version even if the underlying formatting changes.
This is how I do it in randomForest (using .onAttach instead of .First.Lib):
.onAttach <- function(libname, pkgname) { RFver <- if (as.numeric(R.version$major) < 2 && as.numeric(R.version$minor) < 9.0) package.description("randomForest")["Version"] else packageDescription("randomForest")$Version cat(paste("randomForest", RFver), "\n") cat("Type rfNews() to see new features/changes/bug fixes.\n") }
Please don't use functions from utils in such places without explicitly loading them from utils unless your package has an explicit dependence on utils (and randomForest does not).
There was a good reason why I suggested what I did: you don't need the utils namespace for this.
-- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
