R中的延迟评估意外结果

时间:2017-03-14 14:48:25

标签: r lazy-evaluation

我正在关注Hadley Wickham的高级R,并通过一个关于懒惰评估的例子。

我首先创建一个add函数:

> add <- function(x){
+     function(y) x+y
+ }

然后我在其上使用apply函数:

adders <- lapply(1:10, add)

现在根据这本书,由于R中的懒惰评价,当我尝试时,

adders[[1]](20) 

应该得到10 + 20 = 30的答案,但对我来说它给出答案21。

> adders[[1]](20)
[1] 21

有关为什么延迟评估无法在预期行上运行的任何建议?

0 个答案:

没有答案