This help topic is for R version 0.90. For the current version of R, try https://stat.ethz.ch/R-manual/R-patched/library/base/html/restart.html
restart {base}R Documentation

Restart an expression

Description

restart performs a type of non-local return. When restart is called with on=TRUE the evaluator marks that function as a return point. Any errors or signals (such as control-C on Unix) cause control to return to the start of the function containing the call to restart. The most recently established function is always entered first.

Usage

restart(on=TRUE)

Arguments

on

if true a jump point is set; if false the jump point is removed

Note

Use of this code is likely to result in an infinite loop. It should be avoided if possible and is included in R for compatibility with S. The planned R exception handling should remove all need for such a function.

Examples

f <- function(x, first = TRUE)
{
     restart(first)
     if( first ) {
        first <- FALSE
        return(log(x))
     }
     else
        return(NA)
}
f("a")

[Package base version 0.90 ]