Re: [Rd] R5 reference classes: how to initialize exactly?

From: John Chambers <jmc_at_r-project.org>
Date: Wed, 17 Nov 2010 09:00:41 -0800

On the subject of clarification, Reference Classes are not really an "addition" to S4. They are a programming interface to allow OOP (i.e., C++ or Java-style) programming in R.

They do use some S4 tools but rely more on some valuable existing techniques for dealing with environments, such as active bindings. They use a thin layer on top of existing R with the goal of simpler and clearer programming where object references and class-based methods are useful.

John

On 11/17/10 2:34 AM, Simon Urbanek wrote:
> Just a clarification for posterity - R5 has nothing to do with the new reference classes. It's not even an official name, but informally it's a collection of ideas for an entirely new object system that can replace both S3 and S4 (not that it will but it should be seen as having the capability to do so technically). Reference classes are just an addition to S4.
>

> Cheers,
> Simon
>
>
> On Nov 16, 2010, at 12:30 AM, Janko Thyson wrote:
>
>> Sorry, I was stupid:
>>
>>
>>
>> MyRefObj<- setRefClass("Blabla", .)
>>
>>
>>
>> One can always get the generator object of an defined class with
>> 'getRefClass()'. So:
>>
>>
>>
>> g<- getRefClass("Blabla")
>>
>> x<- g$new(.)
>>
>>
>>
>> Regards,
>>
>> Janko
>>
>>
>>
>>
>>
>> Von: Janko Thyson [mailto:janko.thyson_at_ku-eichstaett.de]
>> Gesendet: Dienstag, 16. November 2010 00:27
>> An: 'r-devel_at_r-project. org'
>> Betreff: R5 reference classes: how to initialize exactly?
>>
>>
>>
>> Dear List,
>>
>>
>>
>> So far, I really like those new R5 classes. But what kind of puzzles me is
>> that it's not just enough to define the actual reference class, I also have
>> to assign it to an object (e.g. 'MyRefObj') in order to fire
>> 'MyRefObj$new(.)'.
>>
>>
>>
>> S4:
>>
>> setClass("Blabla", .)
>>
>> x<- new("Blabla")
>>
>>
>>
>> R5:
>>
>> MyRefObj<- setRefClass("Blabla", .)
>>
>> x<- MyRefObj$new(.)
>>
>>
>>
>> But then how do I define a reference class in a package that should be
>> available after the package is loaded via 'library(my_pkg)' as there is no
>> 'MyRefObj' at startup yet? Do I have to call the script where the definition
>> lives?
>>
>>
>>
>> Thanks for any comments,
>>
>> Janko
>>
>>
>>
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-devel_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>
> ______________________________________________
> R-devel_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed 17 Nov 2010 - 17:04:31 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 17 Nov 2010 - 19:00:22 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive