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