Ok, I saw FUNx So, I reformulate my question : is there a way, without nesting b( ) in a( ), to make b( ) available only in a( ) ? > Just to clarify, what Duncan was referring to as the > alternative was nesting the definition of one function > in another, e.g. look at FUNx in by.data.frame -- > FUNx is available to by.data.frame but is not > visible outside of by.data.frame . > > On Sat, Feb 23, 2008 at 6:09 AM, Duncan Murdoch <[EMAIL PROTECTED]> wrote: > >> On 23/02/2008 5:58 AM, Christophe Genolini wrote: >> >>> Duncan Murdoch a écrit : >>> >>>> On 23/02/2008 5:15 AM, Christophe Genolini wrote: >>>> >>>>> Hi the list >>>>> >>>>> Is it possible to 'hide' a function from the user ? I cut a big >>>>> fonction in sub >>>>> function and I would like to hide the sub function, just like if I >>>>> declare them >>>>> in the big function : >>>>> >>>>> -------------- >>>>> a <- function(x){ >>>>> b <- function(y){y^2} >>>>> d <- function(y){y^3} >>>>> b(x)+d(x)+2 >>>>> } >>>>> a(2) >>>>> # [1] 14 >>>>> b(2) >>>>> # Error : >>>>> ---------------- >>>>> >>>>> I would like the same, but with external declaration (for readability) : >>>>> >>>>> ---------------- >>>>> b <- function(y){y^2} >>>>> d <- function(y){y^3} >>>>> a <- function(x){ >>>>> b(x)+d(x)+2 >>>>> } >>>>> a(2) >>>>> # [1] 14 >>>>> b(2) >>>>> # Error >>>>> ---------------- >>>>> >>>>> Is it possible ? >>>>> >>>> Yes, as long as you're using a package with a NAMESPACE, just don't >>>> export b and d. There are other ways too, but they don't improve >>>> readability. >>>> >>>> Duncan Murdoch >>>> >>> If I understand, it is possible only in a package, not in a programme >>> (unless the "other ways"), is that it ? >>> >> Yes, that's right. Here's one of the other ways: >> >> a <- local( { >> b <- function(y){y^2} >> d <- function(y){y^3} >> function(x){ >> b(x)+d(x)+2 >> } >> }) >> >> I don't find that more readable than if b and d had been defined locally >> within a. >> >> Duncan Murdoch >> >> >> ______________________________________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >> > >
[[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.