Hi the list,
I try to use callNextMethod in a setteur ([<-) but it does not work.
Any raison ?
Any other option ?
--- 8< ------------------
### Class B0 ###
setClass("B0" , representation(b0 = "numeric"))
setReplaceMethod("[","B0",function(x,i,j,value){x at b0
<- -value})
a <- new("B0")
a at b0 <- 3
a
a["b0"] <- 3
a
### Class B1 ###
setClass("B1", representation(b1 = "character"), contains =
"B0")
setReplaceMethod("[","B1",function(x,i,j,value){
value <- value*2
callNextMethod()
})
b <- new("B1")
try(b["b0"] <- 5)
--- 8< ------------------
Christophe
--
View this message in context:
http://r.789695.n4.nabble.com/callNextMethod-in-a-function-does-not-work-tp4177669p4177669.html
Sent from the R help mailing list archive at Nabble.com.
Martin Morgan
2011-Dec-09 21:14 UTC
[R] 'callNextMethod' in a '[<-' function does not work ?
On 12/09/2011 10:15 AM, cgenolin wrote:> Hi the list, > > I try to use callNextMethod in a setteur ([<-) but it does not work. > Any raison ? > Any other option ? > > --- 8< ------------------ > ### Class B0 ### > setClass("B0" , representation(b0 = "numeric")) > setReplaceMethod("[","B0",function(x,i,j,value){x at b0<- -value})return modified x, and match signature to getGeneric("[<-") setClass("B0" , representation(b0 = "numeric")) setReplaceMethod("[","B0", function(x,i,j, ..., value) { x at b0 <- -value x })> > a<- new("B0") > a at b0<- 3 > a > a["b0"]<- 3 > a > > > ### Class B1 ### > setClass("B1", representation(b1 = "character"), contains = "B0") > setReplaceMethod("[","B1",function(x,i,j,value){ > value<- value*2 > callNextMethod() > })provide arguments to callNextMethod, reflecting updated value setClass("B1", representation(b1 = "character"), contains = "B0") setReplaceMethod("[","B1",function(x,i,j, ..., value){ value <- value*2 callNextMethod(x, i, j, ..., value=value) })> b<- new("B1") > try(b["b0"]<- 5)of course "b0" is not being used to index here. Martin> --- 8< ------------------ > > Christophe > > -- > View this message in context: http://r.789695.n4.nabble.com/callNextMethod-in-a-function-does-not-work-tp4177669p4177669.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at 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.-- Computational Biology Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109 Location: M1-B861 Telephone: 206 667-2793