當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。