3章に宿題を残したまま…
一旦、6章へ(4,5章はエクササイズなし)
6.1.2 の 2
解答は、以前の記事のリンクを参照。特にbookdownのものはとても良いです。
さて、primitiveではなくNULLを返す関数は具体的にどれだろう?ということで
tmp <- funs[sapply(funs, function(x) is.null(formals(x)) & !is.primitive(x))] names(tmp) # [1] "closeAllConnections" "contributors" # [3] "Cstack_info" "date" # [5] "default.stringsAsFactors" "extSoftVersion" # [7] "getAllConnections" "geterrmessage" # [9] "getLoadedDLLs" "getRversion" # [11] "getTaskCallbackNames" "getwd" # [13] "iconvlist" "is.R" # [15] "l10n_info" "La_library" # [17] "La_version" "libcurlVersion" # [19] "licence" "license" # [21] "loadedNamespaces" "loadingNamespaceInfo" # [23] "memory.profile" "OlsonNames" # [25] "pcre_config" "R.Version" # [27] "search" "searchpaths" # [29] "stderr" "stdin" # [31] "stdout" "sys.calls" # [33] "Sys.Date" "sys.frames" # [35] "Sys.getpid" "Sys.info" # [37] "Sys.localeconv" "sys.nframe" # [39] "sys.on.exit" "sys.parents" # [41] "sys.status" "Sys.time" # [43] "tempdir"
となりました。内部で.Internal
を呼んでいるものが多いですが、それに限らないようです。
これらの関数の中身を見るのであれば、
lapply(tmp, body)
ですね(6章本文の通り。lapplyは6章より後の話だけど…)
エクササイズ難しい~
ということで。
Enjoy!!