cstrato <[EMAIL PROTECTED]> writes:

> Dear all,
>
> Maybe, I am doing something wrong, but using R-2.5.0 on my Intel-Mac, I 
> have problems
> using function callNextMethod() in method initialize.
>
> I am loading the following code as file "testS4.R":

I don't think this is the code in the same state as that which you ran
the examples.  Did you add/remove some comment lines perhaps?

After copy/pasting the code you posted, I get:

    > tmp<-new("derivedClass")
    [1] "---initialize:derivedClass---"
    [1] "mytitle =  MyTitle"
    > tmp<-new("derivedClass",myname="testname",mytitle="testitle")
    [1] "---initialize:derivedClass---"
    [1] "mytitle =  MyTitle"

> setValidity("baseClass",
>    function(object) {
> print("---setValidity:baseClass---")
>       strg <- [EMAIL PROTECTED];
>       if (!(is(strg, "character") && nchar(strg) > 0)) {
>          warning(paste(sQuote("myname"), "is missing"));
>       }#if
> print(paste("myname = ",[EMAIL PROTECTED]))
>       strg <- [EMAIL PROTECTED];
>       if (!(is(strg, "character") && file.exists(strg))) {
>          warning(paste(sQuote("mydir"), "is not a system directory"));
>       }#if
>       if (substr(strg, nchar(strg), nchar(strg)) == "/") {
>          [EMAIL PROTECTED] <- substr(strg, 0, nchar(strg)-1);
>       }#if
> print(paste("mydir = ",[EMAIL PROTECTED]))
>    }
> )#setValidity

Your validity function isn't valid :-P It should either return TRUE or
return a character vector describing what isn't valid about the
object.  Don't call warning() or print().

Also, you don't need those ';'

And finally, you are operating on a _copy_ in the validity method
(just like everywhere else) and so this

>       if (substr(strg, nchar(strg), nchar(strg)) == "/") {
>          [EMAIL PROTECTED] <- substr(strg, 0, nchar(strg)-1);
>       }#if

will not have any effect on the instance passed in.  It is an odd
thing to do in a validity method.

+ seth

-- 
Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center
http://bioconductor.org

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to