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?

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to