Recall
Recursive CallingRecall
is used as a placeholder for the name of the function in which it is called. It allows the definition of recursive functions which still work after being renamed, see example below.
Recall(...)
... | all the arguments to be passed. |
Recall
will not work correctly when passed as a function argument, e.g. to the apply
family of functions.
local
for another way to write anonymous recursive functions.
## A trivial (but inefficient!) example: fib <- function(n) if(n<=2) { if(n>=0) 1 else 0 } else Recall(n-1) + Recall(n-2) fibonacci <- fib; rm(fib) ## renaming wouldn't work without Recall fibonacci(10) # 55
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.