R - Оценить вложенную функцию в среде

Я пытаюсь запустить кусок кода R в виде песочницы, загружая все необходимые зависимости (функции и данные) в новую среду и оценивая выражение в этой среде. Однако у меня возникают проблемы с функциями, вызывающими другие функции в среде. Вот простой пример:

jobenv <- new.env(parent=globalenv())
assign("f1", function(x) x*2, envir=jobenv)
assign("f2", function(y) f1(y) + 1, envir=jobenv)
expr <- quote(f2(3))

С помощьюeval наexpr не с тех порf2 не могу найтиf1

> eval(expr, envir=jobenv)
Error in f2(3) : could not find function "f1"

тогда как явное присоединение среды работает

> attach(jobenv)
> eval(expr)
[1] 7

Я, вероятно, упускаю что-то очевидное, но я не мог найти какую-либо перестановкуeval Звоните, что работает. Есть ли способ получить тот же эффект без привязки к окружающей среде?

Ответы на вопрос(2)

Ваш ответ на вопрос