为什么我的R函数知道没有作为参数给出的变量?

时间:2017-11-16 20:05:32

标签: r

我注意到R函数可以包含未作为参数给出的变量。例如:

foo <- "hello world"
bar <- 10

test.fun <- function(){print(foo)}
test.fun()
[1] "hello world"

根据我对其他语言的经验,我本来期望“NULL”,但是我得到了“hello world”。如果“foo”是一个全局变量,我可以理解这一点,但事实并非如此。当然这个功能应该不知道“foo”或“bar”?

这里发生了什么?有没有办法阻止它?在我看来,这很危险,因为大型代码库可能包含相同的变量名称。

0 个答案:

没有答案