我试图理解Hadley Wickham教授的高级R. Question中的懒惰评估示例,已被问及"a" "x"
函数示例。我的问题是另一个例子。为什么输出到以下代码是"x"
?那里为什么有x
?如果仅在第[3]行评估[1] f <- function(x = ls()) {
[2] a <- 1
[3] x
[4] }
[5] f()
,那么它如何包含自身?
notnull
答案 0 :(得分:3)
由于x
是函数的参数,因此在运行函数时定义了它。在函数内运行ls()
时,所有参数都会显示出来。变量可以在评估之前存在。