我有以下功能:
chatty <- function(f) {
function(x, ...) {
res <- f(x, ...)
cat("Processing ", x, "\n", sep = "")
res
}
}
f <- function(x) x ^ 2
为什么以下函数调用返回2个值?
chatty(f)(1)
Processing 1
[1] 1
根据我对功能的理解,它应该只返回一个值/向量。
此外,添加更多行似乎也会覆盖前一行res。
chatty <- function(f) {
function(x, ...) {
res <- f(x, ...)
cat("Processing ", x, "\n", sep = "")
res
3
}
}
f <- function(x) x ^ 2
chatty(f)(1)
Processing 1
[1] 3
我的问题是如何在这种情况下函数如何在R中返回一个值?