sorry I forgot the return statement, it should be if ([EMAIL PROTECTED]) return(TRUE)
Dr Oleg Sklyar Technology Group Man Investments Ltd +44 (0)20 7144 3803 [EMAIL PROTECTED] > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Sklyar, > Oleg (MI London) > Sent: 07 May 2008 16:13 > To: Robin Hankin; R-devel@r-project.org > Subject: Re: [Rd] optional setValidity() > > You could add a flag to your class and check if it set as a > first thing in the validity as in the example below: > > setClass("foo", > representation("numeric", .validate="logical"), > prototype(.validate=TRUE), > validity=function(object) { > if ([EMAIL PROTECTED]) TRUE > ## do lengthy checks > } > ) > > setGeneric("foo", function(x, ...) standardGeneric("foo")) > setMethod("foo", signature(x="numeric"), > function(x, ..., validate=TRUE) new("foo", ..., .validate=validate) > ) > > a = foo(runif(10), validate=FALSE) > ## or > b = new("foo", runif(10), .validate=FALSE) ## or do validate > d = foo(runif(10)) e = new("foo", runif(10)) > > The downside is that you carry unnecessary information around > in your objects. > > Best, > > Dr Oleg Sklyar > Technology Group > Man Investments Ltd > +44 (0)20 7144 3803 > [EMAIL PROTECTED] > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Robin Hankin > > Sent: 07 May 2008 15:44 > > To: R-devel@r-project.org > > Subject: [Rd] optional setValidity() > > > > Hi > > > > > > Suppose I have an S4 class "foo" and a validity checking function > > ".checkfoo()": > > > > setClass("foo", representation=representation("numeric")) > > setValidity("foo" , .checkfoo) > > > > is fine; in my application, .checkfoo() verifies that a bunch of > > necessary conditions are met. > > > > But .checkfoo() is very time consuming and I want to give users the > > option of switching it off. > > > > Most foo objects that one deals with fall into two or three > standard > > types and in these cases one doesn't need to execute > > .checkfoo() because one can show algebraically that the conditions > > are automatically met. > > > > But OTOH, I want the check to be performed "by default" to > stop anyone > > (me) from being too clever and defining a non-standard foo > object that > > doesn't meet .checkfoo(). > > > > What is best practice here? > > > > Are there any examples I could copy? > > > > > > > > > > > > -- > > Robin Hankin > > Uncertainty Analyst and Neutral Theorist, National Oceanography > > Centre, Southampton European Way, Southampton > > SO14 3ZH, UK > > tel 023-8059-7743 > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > > ********************************************************************** > The contents of this email are for the named > addressee(s...{{dropped:22}} > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ********************************************************************** The contents of this email are for the named addressee(s...{{dropped:22}} ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel