Recall {base} | R Documentation |
Recursive Calling
Description
Recall
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.
Usage
Recall(...)
Arguments
... |
all the arguments to be passed. |
Note
Recall
will not work correctly when passed as a function
argument, e.g. to the apply
family of functions.
See Also
local
for another way to write anonymous recursive functions.
Examples
## 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
[Package base version 4.4.1 Index]