[Rd] Reference classes
John Chambers
jmc at r-project.org
Fri Oct 22 20:30:54 CEST 2010
One correction:
On 10/22/10 10:55 AM, John Chambers wrote:
.....
>> As a suggestion, it would be nice if the accessors() method could be
>> used to create just "getters" or just "setters" for particular fields,
>> although I realise this can be worked around by removing the unwanted
>> methods afterwards.
>
> In other words, read-only fields. There is a facility for that
> implemented already, but it didn't yet make it into the documentation,
> and it could use some more testing. The generator object has a $lock()
> method that inserts a write-once type of method for one or more fields.
> Example:
>
> > fg <- setRefClass("foo", list(bar = "numeric", flag = "character"),
> + methods = list(
> + addToBar = function(incr) {
> + b = bar + incr
> + bar <<- b
> + b
> + }
> + ))
> > fg$lock("bar")
> > ff = new("foo", bar = 1.5)
> > ff$bar <- 2
> Error in function (value) : Field "bar" is read-only
>
>
Actually it is documented in the section on generator objects. But
since I also didn't see it, maybe it needs an example. ;-)
John
More information about the R-devel
mailing list