Imanuel Costigan
2014-Feb-01 03:14 UTC
[Rd] Running examples with R5 constructor from package failing
I am having an issue with reference classes (R5) in a package I am developing. They have both been illustrated in the `roxygentest` package I've got hosted on Github [1].? When I run `R CMD check .` on the source directory of my package I am told that:> Error: could not find function "Blob"However, when I install and load the package, I can successfully run the command in the example.? Does someone know why this is happening? The relevant definitions and the example (in Rd format): R5 definition: ``` draw.Blob <- function (type = 'small')? { ? 'Something about blobs' ? type <<- 'small' } Blob <- setRefClass ( ? Class = "Blob",? ? fields = list(type = 'character'), ? methods = list(draw = draw.Blob) ) ``` Example: ``` \examples{ Blob(type = 'small') } ``` Cheers [1]?https://github.com/imanuelcostigan/roxygentest
Duncan Murdoch
2014-Feb-01 13:57 UTC
[Rd] Running examples with R5 constructor from package failing
On 14-01-31 10:14 PM, Imanuel Costigan wrote:> I am having an issue with reference classes (R5) in a package I am developing. They have both been illustrated in the `roxygentest` package I've got hosted on Github [1]. > > When I run `R CMD check .` on the source directory of my package I am told that: >> Error: could not find function "Blob" > > However, when I install and load the package, I can successfully run the command in the example. > > Does someone know why this is happening? > > The relevant definitions and the example (in Rd format): > > R5 definition: > ``` > draw.Blob <- function (type = 'small') > { > 'Something about blobs' > type <<- 'small' > } > > Blob <- setRefClass ( > Class = "Blob", > fields = list(type = 'character'), > methods = list(draw = draw.Blob) > ) > ``` > > Example: > ``` > \examples{ > Blob(type = 'small') > } > ``` The symptoms make it look as though the *function* Blob is not exported. I see in your source that you do export the *class* Blob, but the docs don't make it clear to me that this also implies export of the generator function. So I'd add export(Blob) to your NAMESPACE. I just checked another package that exports a class, and it separately exported the generator function, so I guess this is known. Duncan Murdoch