[Rd] Reference Classes: Generalizing Reference Class Generator objects?
Daniel Lee
bearlee at alum.mit.edu
Thu Oct 28 16:13:43 CEST 2010
Is it possible to override the $new(...) in the reference class
generator? I have tried adding a "new" method to the methods of the
class, but that is obviously not correct. I have also tried adding it to
the class generator, but the class generator still uses the default
constructor.
As a simple example, this is the current interface:
TestClass <- setRefClass ("TestClass",
fields = list (text = "character"),
methods = list (
print = function () {cat(text)})
)
test <- TestClass$new (text="Hello World")
test$print()
I would like to override $new(...) to be something like (add a "\n" to
the end of the input, no need to specify input fields):
TestClass$methods (new = function (text) {
text <- paste (text, "\n")
methods:::new (def, text=text)
})
The constructor would then be:
test <- TestClass$new ("Hello World")
This is a subtle, but useful change. I have also tried adding to
TestClass a method $newInstance(text), but that was not successful. If
this is not possible, could we consider augmenting the Reference Class
interface to include constructors?
More information about the R-devel
mailing list