[R] a weird question about gdata:::

Rolf Turner rolf.turner at xtra.co.nz
Mon Dec 5 00:57:29 CET 2011


See end of message.

On 05/12/11 10:19, Erin Hodgess wrote:
> Dear R People:
>
> If I put in:
>
>> findPerl
> Error: object 'findPerl' not found
>
>
> But if I use:
>
>> gdata:::findPerl
> function (perl, verbose = "FALSE")
> {
>      errorMsg<- "perl executable not found. Use perl= argument to
> specify the correct path."
>      if (missing(perl)) {
>          perl = "perl"
>      }
>      perl = Sys.which(perl)
>      if (perl == "" || perl == "perl")
>          stop(errorMsg)
>      if (.Platform$OS == "windows") {
>          if (length(grep("rtools", tolower(perl)))>  0) {
>              perl.ftype<- shell("ftype perl", intern = TRUE)
>              if (length(grep("^perl=", perl.ftype))>  0) {
>                  perl<- sub("^perl=\"([^\"]*)\".*", "\\1", perl.ftype)
>              }
>          }
>      }
>      if (verbose)
>          cat("Using perl at", perl, "\n")
>      perl
> }
> <environment: namespace:gdata>
> Why does one work but not the other, please?

Because "findPerl" is ``not exported'' from the gdata namespace.

Uhhh, what does that mean?  I have a vague idea, but I'm not sufficiently
confident/competent to elaborate.  You'll just have to read up on 
namespaces.
I'm *sure* namespaces are really a Good Thing, but they sure do add to the
mysteries of R usage.

Has Pat Burns written anything by way of explaining namespace to bunnies
like me?

     cheers,

             Rolf



More information about the R-help mailing list