ns-internals {base} | R Documentation |
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 the daring ones, getting into the bowels (non-API!):
.nsInfEnv <- function(ns) asNamespace(ns, base.OK = FALSE)[[".__NAMESPACE__."]]
lsNSInfo <- function(ns, ...) ls(..., envir = .nsInfEnv(ns))
allinfoNS <- function(ns) as.list(.nsInfEnv(ns), sorted=TRUE)
utils::str(allinfoNS("stats"))
utils::str(allinfoNS("stats4"))