ns-internal
Namespace Internals
Description
Internal namespace support functions. Not intended to be called directly, and only visible because of the special nature of the base namespace.
Usage
asNamespace(ns, base.OK = TRUE) getNamespaceInfo (ns, which) .getNamespaceInfo(ns, which) importIntoEnv(impenv, impnames, expenv, expnames) isBaseNamespace(ns) isNamespace(ns) namespaceExport(ns, vars) namespaceImport(self, ..., from = NULL, except = character(0L)) namespaceImportFrom(self, ns, vars, generics, packages, from = "non-package environment", except = character(0L)) namespaceImportClasses(self, ns, vars, from = NULL) namespaceImportMethods(self, ns, vars, from = NULL) packageHasNamespace(package, package.lib) parseNamespaceFile(package, package.lib, mustExist = TRUE) registerS3method(genname, class, method, envir = parent.frame()) registerS3methods(info, package, env) setNamespaceInfo(ns, which, val) .mergeExportMethods(new, ns) .mergeImportMethods(impenv, expenv, metaname) .knownS3Generics loadingNamespaceInfo() .getNamespace(name) ..getNamespace(name, where)
Arguments
ns | string or namespace environment. |
base.OK | logical. |
impenv | environment. |
expenv | namespace environment. |
vars | character vector. |
generics | optional character vector. |
self | namespace environment. |
package | string naming the package/namespace to load. |
packages | vector of package names parallel to |
package.lib | character vector specifying library. |
mustExist | logical. |
genname | character. |
class | character. |
envir, env | environment. |
info | a 3-column character matrix. |
which | character. |
val | any object. |
... | character arguments. |
metaname | the methods table name. |
name | symbol: name of namespace |
except | character vector naming symbols to exclude from the import, particularly useful when |
Details
packageHasNamespace
does not indicate if the package has a namespace (all now do), rather if it has a ‘NAMESPACE’ file, which base and some legacy packages do not. But then you are not intended to be using it ....
Author(s)
Luke Tierney and other members of the R Core Team.
See Also
loadNamespace
or getNamespace
are somewhat higher level namespace related functions.
Examples
nsName <- "stats" (ns <- asNamespace(nsName)) # <environment: namespace:stats> ## Inverse function of asNamespace() : environmentName(asNamespace("stats")) # "stats" environmentName(asNamespace("base")) # "base" getNamespaceInfo(ns, "spec")[["name"]] ## -> "stats" ## Only for for the daring ones, trying to get into the bowels : lsNamespaceInfo <- function(ns, ...) { ns <- asNamespace(ns, base.OK = FALSE) ls(..., envir = get(".__NAMESPACE__.", envir = ns, inherits = FALSE)) } allinfoNS <- function(ns) sapply(lsNamespaceInfo(ns), getNamespaceInfo, ns=ns) utils::str(allinfoNS("stats")) utils::str(allinfoNS("stats4"))
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.