ns-internals {base} | R Documentation |
Internal namespace support functions. Not intended to be called directly, and only visible because of the special nature of the base namespace.
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)
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 |
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 ....
Luke Tierney and other members of the R Core Team.
loadNamespace
or getNamespace
are somewhat
higher level namespace related functions.
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"))