当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R ns-internals 命名空间内部结构


R语言 ns-internals 位于 base 包(package)。

说明

内部命名空间支持函数。不打算直接调用,并且仅由于 base 命名空间的特殊性质而可见。

用法

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

字符串或命名空间环境。

base.OK

合乎逻辑的。

impenv

环境。

expenv

命名空间环境。

vars

字符向量。

generics

可选的字符向量。

self

命名空间环境。

package

命名要加载的包/命名空间的字符串。

packages

generics 平行的包名称向量。

package.lib

指定库的字符向量。

mustExist

合乎逻辑的。

genname

特点。

class

特点。

envir, env

环境。

info

3 列字符矩阵。

which

特点。

val

任何物体。

...

字符参数。

metaname

方法表名称。

name

符号:命名空间的名称

except

要从导入中排除的字符向量命名符号,在缺少 vars 时特别有用。

细节

packageHasNamespace不指示包是否有命名空间(现在都有),而是指示它是否有“NAMESPACE’ 文件,其中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 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"))

作者

Luke Tierney and other members of the R Core Team.

也可以看看

loadNamespacegetNamespace 是更高级别的命名空间相关函数。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Namespace Internals。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。