[R] Returning to parent function

Saptarshi Guha saptarshi.guha at gmail.com
Mon Mar 16 23:08:35 CET 2015


Hello,

I would like a function X to return to the place that called the
function XParent that called this function X.

Y calls XParent
Y = function(){
  XParent()
  print("hello")
}

XParent calls X

XParent = function(){
   X()
   print("H")
}

X returns to the point just after the call to XParent. Hence
print("H") is not called, but instead "hello" is printed.

An example of what i'm going for is this

continueIfTrue <- function(filterExp, grpname, subname,n=1){
    y <- substitute(filterExp)
    res <- isn(eval(y, envir=parent.frame()),FALSE)
    ## if res is FALSE, I would like to return from telemStats
}

telemStats <- function(a,b){
    b <- c(10,12)
    continueIfTrue( {    length(b) >=10 }, "progStats","00")
    print("Since the above condition failed, I would not like this
message to be printed")
}

I looked into callCC and signals but dont think i understood correctly.
Any hints would be appreciated

Kind Regards
Saptarshi



More information about the R-help mailing list