Re: [Rd] Reference classes: accessor functions via 'getRefClass(...)$accessors(...)'

From: Janko Thyson <janko.thyson_at_ku-eichstaett.de>
Date: Wed, 17 Nov 2010 15:33:24 +0100

Thanks a lot for the comments! I'll give the serveral alternatives a try to see if it gets me what I want.

Cheers,
Janko

> -----Ursprüngliche Nachricht-----
> Von: Vitalie S. [mailto:spinuvit.list_at_gmail.com]
> Gesendet: Mittwoch, 17. November 2010 13:51
> An: Janko Thyson
> Cc: 'r-devel_at_r-project. org'
> Betreff: Re: Reference classes: accessor functions via
> 'getRefClass(...)$accessors(...)'
>
> "Janko Thyson" <janko.thyson_at_ku-eichstaett.de> writes:
>
> > Hi there,
> >
> > I'd like to choose between an "static" and "dynamic" access of a
> reference
> > class field, say 'a'.
> >
> > myObj <- getRefClass("Blabla")$new()
> >
> > Static: myObj$a
> >
> > Dynamic: myObj$a.get() where the function retrieves the
> data
> > from a database (or some other location), stores it to a buffer and
> > optionally updates the static field value 'a'.
> >
> > I've set up such a method 'a.get()' where I can actually decide
> between
> > static and dynamic runmode (so the method also wraps the call
> 'myObj$a' for
> > the static runmode).
> >
> > Now I saw that setting up such accessor methods (get/set) is already
> done
> > for me if I use 'getRefClass("Blabla")$accessors(.)'. I just don't
> > understand what exactly I have to do there, because this results in
> an
> > error: 'getRefClass("Blabla")$accessors("a")'

> >
> > Can anyone point me to the correct use of
> 'getRefClass(.)$accessors(.)'?
>
> It works for me:
>
> X <- setRefClass("XXX", fields = list(a = "character"))
> X$accessors("a")
> X
> # ...
> # Class Methods:
> # "callSuper", "export", "getA", "import", "initFields", "setA"
> # ...
>
> accessors() convenience method creates setA and getA functions:
>
> x <- X$new()
> x$getA
> #Class method definition for method getA()
> #function ()
> #a
> #<environment: 02a198c0>
>
> HTH,
> Vitalie.
>
> >
> >
> > Thanks a lot,
> >
> > Janko
> >
> > [[alternative HTML version deleted]]



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed 17 Nov 2010 - 14:47:38 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:10:23 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