Hi,

for 'affxparser' (Bioconductor), we needed a function to test if a
certain package was loaded or not, but we did not want to load it if
it wasn't, which is why we couldn't use require().  We came up with
the following solution:

  isPackageLoaded <- function(package, version=NULL, ...) {
    s <- search();
    if (is.null(version)) {
      s <- sub("_[0-9.-]*", "", s);
    } else {
      package <- manglePackageName(package, version);
    }
    pattern <- sprintf("package:%s", package);
    (pattern %in% s);
  }

Example:  isPackageLoaded("base")

As I see that require() and library() is using similar code for
testing if a package is loaded or not, feel free to have the above
added to the 'base' package.

/Henrik

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to