Re: [R] R5: Lock a class field from within a method?
David Winsemius wrote: 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 lockbinding does in fact what I want, but your statement about pseudo-code is not entirely correct ... try the following (?setRefClass will light the way). testclass - setRefClass( testclass, fields = list(testfield = logical)) testclass$lock(testfield) test - testclass$new() test$testfield - TRUE test$testfield - FALSE I was assuming to be able to have access to the lock method from a class instance as well (rather than just in the class definition) ... Is that indeed impossible? Cheers, Joh __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
[R] R5: Lock a class field from within a method?
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? Sincerely, Joh __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] R5: Lock a class field from within a method?
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 __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.