第98页:http://www.burns-stat.com/pages/Tutor/R_inferno.pdf
转载如下。如果以下是有效命令。
WeirdFun()()()
然后WeirdFun
会返回什么?
n = 0
weirdFun = function(x) {
n <<- n + 1
return(weirdFun)
}
weirdFun()
weirdFun()()
weirdFun()()()
weirdFun()()()()
答案 0 :(得分:3)
weirdFun <- function() function() function() return(42)
weirdFun
#function() function() function() return(42)
weirdFun()
#function() function() return(42)
#<environment: 0x7f8cc7130390>
weirdFun()()()
#[1] 42
我认为这个难题的目的是让你考虑闭包和封闭的环境?