On Wed, 29 Mar 2006, Paul Roebuck wrote:

> What's the best way to simulate Recall for parent function?
> Consider this one-time recursive code:
>
> alwaysEven <- function(x) {
>    handleOdd <- function(x) {
>        alwaysEven(x-1)    # use Recall-like here
>    }
>
>    return(if (x %% 2) handleOdd(x) else x)
> }
> any2even <- alwaysEven
> rm(alwaysEven)
> any2even(3)

You can make anonymous recursive functions with local()

whatever <- local({
               alwaysEven <- function(x) {
                  handleOdd <- function(x) {
                     alwaysEven(x-1)
               }
               return(if (x %% 2) handleOdd(x) else x)
               }
           alwaysEven
           })


        -thomas

Thomas Lumley                   Assoc. Professor, Biostatistics
[EMAIL PROTECTED]       University of Washington, Seattle

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to