следующее:

оложим, у меня есть следующая функция:

g = function(x) x+h

Теперь, если у меня есть в моем окружении объект с именемhУ меня не было бы никаких проблем

h = 4
g(2)

## should be 6

Теперь у меня есть другая функция:

f = function() {
    h = 3
    g(2)
}

Я бы ожидал:

rm(h)
f()

## should be 5, isn't it?

Вместо этого я получаю ошибку

## Error in g(2) : object 'h' not found

Я бы ожидалg оценивать в средеf, таким образомh вf будет привязан к ч в г, как это было, когда я выполнилg в пределах.GlobalEnv, Этого не происходит (очевидно). любое объяснение почему? как преодолеть это, чтобы функция внутри функции (например,g) будет оцениваться с использованием окружающей среды?

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

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