add <- function(x) {
function(y) x + y
}
adders <- lapply(1:10, add)
adders[[1]](10)
В приведенном выше коде Уикхем заявляет в Advanced R , что, поскольку аргументы функции лениво оцениваются, x будет равно 10 для всех замыканий, созданных lapply (1:10, add).Но это не тот случай, когда я запустил код в сеансе R, но даже его примеры, насколько я могу судить, не демонстрируют нарушения вышеприведенного кода - почему это так?