最近我一直在使用的R的特性之一(感謝R.cache
)是函數聲明其他函數的能力。特別是,當這樣做時,可以將一些變量作爲結果函數的固有部分。如何訪問存儲在函數中的變量R
例如:
functionBuilder <- function(wordToSay) {
function() {
print(wordToSay)
}
}
可以建立一個功能,像這樣:
functionToRun <- functionBuilder("hello nested world")
然後functionToRun()
將導致"hello nested world"
。但是,如果你只是看functionToRun(即打印它),你會看到匹配functionBuilder
的代碼。你還會看到的是functionToRun
有一個環境。如何訪問存儲在functionToRun
內部的wordToSay
的值?
起初我想: get("wordToSay",env=functionToRun)
......但functionToRun不是環境,不能轉化爲通過as.environment的環境。同樣,因爲functionToRun
不是一個環境,所以不能附加到它或使用with
。