[Rd] Creating a reference class object from a class definition in a package fails

Jeffrey Horner jeffrey.horner at gmail.com
Thu Feb 3 04:25:18 CET 2011


I'm trying to create a package that contains reference class
definitions from which users can create reference objects, but there
seems to be something awry.

My toy example creates an empty package via
package.skeleton('TestClass') to which I add the following R code:

TestClass <- setRefClass('TestClass',fields=c('name'))

Unfortunately my R console output bears this:

> library(TestClass)
> TestClass$new(name='foo')
Error: attempt to apply non-function
> getRefClass('TestClass')$new(name='foo')
Error: attempt to apply non-function

Creating the same reference class in the global environment works though:

> x <- setRefClass('TestClass',fields='name')
> x$new(name='foo')
An object of class "TestClass"
<environment: 0x82a43cc>

I'm new to S4 and reference classes, so maybe I'm missing something fundamental?


> sessionInfo()
R version 2.13.0 Under development (unstable) (2011-02-02 r54197)
Platform: i686-pc-linux-gnu (32-bit)

 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=C              LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base

other attached packages:
[1] TestClass_1.0

loaded via a namespace (and not attached):
[1] tools_2.13.0

More information about the R-devel mailing list