[R] Recall for parent
Thomas Lumley
tlumley at u.washington.edu
Thu Mar 30 17:28:20 CEST 2006
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
tlumley at u.washington.edu University of Washington, Seattle
More information about the R-help
mailing list