ns-internals

0th

Percentile

Namespace Internals

Internal namespace support functions. Not intended to be called directly, and only visible because of the special nature of the base namespace.

Keywords
internal
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 generics.
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 vars is missing.
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 ....

See Also

loadNamespace or getNamespace are somewhat higher level namespace related functions.

Aliases
  • asNamespace
  • getNamespaceInfo
  • .getNamespaceInfo
  • importIntoEnv
  • isBaseNamespace
  • isNamespace
  • namespaceExport
  • namespaceImport
  • namespaceImportClasses
  • namespaceImportFrom
  • namespaceImportMethods
  • packageHasNamespace
  • parseNamespaceFile
  • registerS3method
  • registerS3methods
  • setNamespaceInfo
  • .__S3MethodsTable__.
  • .mergeExportMethods
  • .mergeImportMethods
  • .knownS3Generics
  • loadingNamespaceInfo
  • .getNamespace
  • .getNamespaceInfo
  • ..getNamespace
Examples
library(base) 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"))
Documentation reproduced from package base, version 3.3, License: Part of R @VERSION@

Community examples

Looks like there are no examples yet.