了解 Advanced R 中的惰性求值示例
Understanding the lazy evaluation example in Advanced R
我正在尝试理解 Hadley Wickham 教授的 Advanced R 中的惰性求值示例。Question 有人询问了 adder
函数示例。我的问题是关于另一个例子。为什么下面代码的输出是"a" "x"
?为什么那里有一个"x"
?如果 x
仅在第 [3] 行计算,它如何包含自身?
[1] f <- function(x = ls()) {
[2] a <- 1
[3] x
[4] }
[5] f()
由于x
是函数的一个参数,它是在函数为运行时定义的。当您在函数中 运行 ls()
时,所有参数都会显示出来。变量可以在求值之前存在。
我正在尝试理解 Hadley Wickham 教授的 Advanced R 中的惰性求值示例。Question 有人询问了 adder
函数示例。我的问题是关于另一个例子。为什么下面代码的输出是"a" "x"
?为什么那里有一个"x"
?如果 x
仅在第 [3] 行计算,它如何包含自身?
[1] f <- function(x = ls()) {
[2] a <- 1
[3] x
[4] }
[5] f()
由于x
是函数的一个参数,它是在函数为运行时定义的。当您在函数中 运行 ls()
时,所有参数都会显示出来。变量可以在求值之前存在。