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.