了解Advanced R中的延迟评估示例

时间:2017-03-23 02:03:28

标签: r lazy-evaluation

我试图理解Hadley Wickham教授的高级R. Question中的懒惰评估示例,已被问及"a" "x"函数示例。我的问题是另一个例子。为什么输出到以下代码是"x"?那里为什么有x?如果仅在第[3]行评估[1] f <- function(x = ls()) { [2] a <- 1 [3] x [4] } [5] f() ,那么它如何包含自身?

notnull

1 个答案:

答案 0 :(得分:3)

由于x是函数的参数,因此在运行函数时定义了它。在函数内运行ls()时,所有参数都会显示出来。变量可以在评估之前存在。

相关问题