[Rd] accessing "hidden" functions

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Mar 28 09:00:16 CEST 2007


On Wed, 28 Mar 2007, Benilton Carvalho wrote:

> Hi,
>
> (I tried looking for it, but I don't think it was discussed before...
> or maybe I didn't use the correct keywords).
>
> I have a package (say, pkg1), which uses NAMESPACE. This package
> contains a bunch of functions the are used internally, therefore
> they're not exported (say, internalFunc1).
>
> Even though internalFunc1 is not exported, I can access it externally
> using pkg1:::internalFunc1 (yes, I do understand this is not supposed
> to be done).
>
> Okay... now I have a second internal function, which starts with a
> dot (eg, ".internalFunc2").
>
> Is there a way of accessing it without exporting it (or exposing it
> by removing the "dot")? ie, something like pkg1:::.internalFunc2 ?

Yes.  Starting a name with a dot is merely a convention, and almost 
everything (including the ::: operator) treats all names the same.

You will see lots of examples in the tools package used by R CMD check.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-devel mailing list