Hi again, Duncan

I think I must tell you all the details of the method I use, in order to
make possible you notice my error. However, you must know that this method
run on 3.0.1 version (not in 3.0.2 and not in 3.1.0; this is the problem!).

1) This is my code in "D:/probando.r" :


.ChrL.env <- new.env()
.ChrL.env$lGlo <- list()
.ChrL.env$bStarted <- FALSE

CheckGloCreated <- function() {
  if (.ChrL.env$bStarted == TRUE) {
    stop("Data structures were already initialized.", call.=FALSE)
  }
}
ChrL.Start <- function() {
  CheckGloCreated()
  cat("Tested.\n")
}

2) I open RGUI and run the following:

setwd("D:/")
source("probando.r", encoding="utf-8")
package.skeleton(name="ChrL", path="D:/")

3) At this point, ChrL folder has been created in D:/, so I adjust
Description and Namespace files. In R folder, ChrL-internal.r file is as I
indicate below...

>>
>>
>> My Namespace:
>>
>> export(ChrL.Start)
>>
>>
>> My ChrL-internal.R:
>>
>> .ChrL.env <- new.env()

3) I go to bin folder (C:/Program Files/R/R-3.1.0/bin) and run the
following:

R CMD INSTALL D:/ChrL

R CMD check D:/ChrL

R CMD build D:/ChrL

R CMD INSTALL --build D:/ChrL

Consequently, zip is generated, and I load it in RGUI. Then I do
"library(ChrL)", but I see .ChrL.env does not exists. ¡In 3.0.1 version it
run ok!. What is the reason why in 3.1.0 version It does not exists?.


Thanks again.

Eva


2014-07-07 22:49 GMT+02:00 Duncan Murdoch <murdoch.dun...@gmail.com>:

> On 07/07/2014, 2:02 PM, Eva Prieto Castro wrote:
> > Hi eveybody,
> >
> > I think the problem is with the package.skeleton function, because of the
> > changes made in version 3.0.2. Since that version the management of
> > environment parameter is different and I think it can justify the fact of
> > package.skeleton is not considering my environment. I have not tested it
> > yet.
>
> The package.skeleton() function is intended to be used once as a quick
> setup of a new package; you shouldn't be using it routinely.  After the
> first quick setup, you should edit the source of the package to get what
> you want.
>
> A few more comments inline...
>
> >
> > Regards.
> >
> > Eva
> >
> >
> > 2014-07-07 10:21 GMT+02:00 Eva Prieto Castro <evapcas...@yahoo.es>:
> >
> >> Hi everybody
> >>
> >> I have a very big problem:
> >>
> >> With R 3.0.2 I could construct the package for this code:
> >>
> >>
> >> if (exists('.ChrL.env') == TRUE) {
> >>   rm(.ChrL.env)
> >> }
>
> The code above doesn't make sense in a package:  either you created the
> environment, or you didn't.  That code will look through attached
> packages, and if one of them has a variable of that name, will try to
> remove it (but will likely fail to do so).
>
> >>
> >> .ChrL.env <- new.env()
> >> .ChrL.env$lGlo <- list()
> >> .ChrL.env$bStarted <- FALSE
> >>
> >> CheckGloCreated <- function() {
> >>   if (.ChrL.env$bStarted == TRUE) {
> >>     stop("Data structures were already initialized.", call.=FALSE)
> >>   }
> >> }
> >> ChrL.Start <- function() {
> >>   CheckGloCreated()
> >>
> >>   cat("Libraries have been loaded and data structure has been
> >> initialized.\n")
> >> }
> >>
> >>
> >>
> >> As you can do, I used an own environment (.ChrL.env).
> >>
> >>
> >> Now, with R 3.1.0, I construct the package and I load it but it seems
> >> .ChrL.env does not exists.
> >>
> >>
> >> The method I use is the following:
> >>
> >>
> >> rm(list=ls())
> >>
> >> setwd("D:/probando")
> >>
> >> source("probando.r", encoding="utf-8")
> >>
> >> package.skeleton(name="ChrL", path="D:/probando")
>
> This says that you read the file d:/probando/probando.r, then created a
> package in the same directory.  Don't do that.  Create the package
> somewhere else, and copy the source to your functions into the R
> subdirectory that gets created.
>
> >>
> >>
> >> My Namespace:
> >>
> >> export(ChrL.Start)
> >>
> >>
> >> My ChrL-internal.R:
> >>
> >> .ChrL.env <- new.env()
>
> As far as I can see, you never added this to the package, so the
> environment wouldn't be created.
>
> Duncan Murdoch
>
> >>
> >>
> >> Could you help me, please?. It is very urgent...
> >>
> >>
> >> My project is more complex that the example I put, but I have tested
> with
> >> this simple example and the problem is the same.
> >>
> >>
> >> Thank you in advance.
> >>
> >>
> >> Regards,
> >>
> >> Eva
> >>         [[alternative HTML version deleted]]
> >>
> >>
> >> _______________________________________________
> >> R-help-es mailing list
> >> r-help...@r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
> >>
> >>
> >
> >       [[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.
> >
>
>

        [[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