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

     'do.call' and 'call'.

     '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

