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.

Reply via email to