[R] callNextMethod & initialize & explicit parameters
    laurent  buffat 
    laurent.buffat at it-omics.com
       
    Mon May 26 18:31:37 CEST 2003
    
    
  
Hello,
I know that in general, it is better to call callNextMethod without
arguments,
and so the call is done with the current arguments, but I want explicitly
change the value of
a given argument, how can I do ?
See the code. Why is doesn't work ?
Thanks for your help
Laurent Buffat
///////////////////////
setClass("A", representation(a = "numeric"))
setMethod("initialize", "A", function(.Object, a=1, ...)
		   cat("initialize in A\n")
               .Object at a <- a
                return(.Object)
              })
setClass("B", representation(b = "numeric"),contains=c("A"))
setMethod("initialize", "B", function(.Object, a=1,  b=2, ...)
	    {
	      a.init <- b*b # or something more complexe ...
	      .Object <- callNextMethod(.Object,a=a.init, ...)
	      .Object at b <- b
              return(.Object)
            })
x <-new("B")
/////////////////// error with new("B").
# The evaluation of "a=a.init" is done in the environment of initialize,A,
and a.init doesn't exist
# in this environment ...
initialize in A
Error in .local(.Object, ...) : Object "a.init" not found
    
    
More information about the R-help
mailing list