Learn R Programming

base (version 3.3)

Recall: 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.

See Also

do.call and call.

local for another way to write anonymous recursive functions.

Examples

Run this code
## 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

Run the code above in your browser using DataLab