[R] R5: Lock a class field from within a method?
David Winsemius
dwinsemius at comcast.net
Wed Oct 24 17:09:56 CEST 2012
On Oct 24, 2012, at 2:14 AM, Johannes Graumann wrote:
> Hello,
>
> testclass <- setRefClass(
> "testclass",
> fields = list(testfield = "logical"),
> methods = list(validate=function(){testfield<<-TRUE}))
>
>> test <- testclass$new()
>> test$testfield
> logical(0)
>> test$validate()
>> test$testfield
> [1] TRUE
>
> Works just fine for me.
>
> I would love to be able to do something like
>
> testclass <- setRefClass(
> "testclass",
> fields = list(testfield = "logical"),
> methods = list(validate=function(){
> testfield<<-TRUE
> .self$lock(testfield)
> }))
>
> but am unabel to achieve that. Can anyone point out how to go about
> rendering a field immutable after execution of a specific method?
>
The fact that you used only "lock" in your code and I am unable to
find such a function makes me wonder whether that was an implicit
psuedo-code effort and that you do not know about:
?lockBinding
--
David Winsemius, MD
Alameda, CA, USA
More information about the R-help
mailing list