このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

.BaseNamespaceEnv と baseenv() は違う

baseのエクスポーター(公開記述)は、as.environment(length(search())) で得られる。
.BaseNamespaceEnvはbaseenv()とは別で、baseパッケージの名前空間オブジェクトを指す。


> length(ls(.BaseNamespaceEnv, all.names=T)) # .BaseNamespaceEnv の名前個数
[1] 1310
> length(ls(baseenv(), all.name=T)) # baseenv() の名前個数
[1] 1310
> identical(.BaseNamespaceEnv, baseenv()) # 同じか?
[1] FALSE
> isNamespace(.BaseNamespaceEnv) # .BaseNamespaceEnv は名前空間か?
[1] TRUE
> isNamespace(baseenv()) # baseenv() は名前空間か?
[1] FALSE
> identical(as.environment(length(search())), baseenv()) # baseenv()はエクスポーター
[1] TRUE
> identical(getNamespace("base"), .BaseNamespaceEnv) # .BaseNamespaceEnv は名前空間
[1] TRUE
>