相关疑难解决方法(0)

理解对函数输入参数的评估

我正在阅读Hadley Wickham的Advanced R,其中提供了一些非常好的练习.其中一个要求描述这个功能:

f1 <- function(x = {y <- 1; 2}, y = 0) {
  x + y
}
f1()
Run Code Online (Sandbox Code Playgroud)

有人能帮我理解为什么它会返回3吗?我知道有一些叫做延迟评估输入参数的东西,例如另一个练习要求描述这个函数

f2 <- function(x = z) {
  z <- 100
  x
}
f2()
Run Code Online (Sandbox Code Playgroud)

我正确地预测为100; x获取z在函数内部计算的值,然后返回x.但我无法弄清楚会发生什么f1().

谢谢.

r lazy-evaluation

7
推荐指数
1
解决办法
103
查看次数

标签 统计

lazy-evaluation ×1

r ×1