学习R,R编程的艺术。 直到大约1/2,他才简单地定义了一个这样的新函数:
fnc=function(a,b){
return(a) }
但现在正在做这样的事情:
> g
function() {
t <- function(x) return(x^2)
return(t)
}
> g()
function(x) return(x^2)
这与说法相同:
g=function(x) return(x^2)
第一个街区的g是多少? 运行他所拥有的确切代码并不适用于我,它只是打印出我所拥有的代码。
谢谢大家。
答案 0 :(得分:1)
如果从book到SO的代码转换准确,作者正在定义一个返回函数的函数:
g <- function() {
t <- function(x) return(x^2)
return(t)
}
我们可以看到,如果我们执行它:
g()
## function(x) return(x^2)
## <environment: 0x7fd7c5aa7d10>
而且,我们可以使用这样一个事实:它通过将参数传递给它返回的函数来返回一个函数:
g()(10)
## 100
或者这样:
squareIt <- g()
squareIt(10)
## 100