2017-07-15 9 views
4

完全に独立した環境のフォルダで関数を実行したい。この関数は、このフォルダ内で参照するリソースもいくつか持っています。ファイルを環境に再帰的にコピーする

私はsource()を使用して、新しい環境にRの関数をロードする方法を知っている:

ne <- new.env() 
source("myFuncs.R", ne) 

myFuncs.Rフォームsource("helpers.R")source()呼び出し自体が含まれている場合は、これらの機能は、地球環境にロードされます!

どうすればを再帰的にソースのファイルを新しい環境に移行できますか? Rでこれを行うことはできますか?何とかこれを正規表現で回避する必要はありませんか?

答えて

2

sourceを再定義:

ne <- new.env() 
source <- function(file, local = ne, ...) base::source(file, local, ...) 

source("myFuncs.R") 

rm(source) 
+0

これは完全に働きました!そのような簡単な答え:) –

関連する問題