Try this: > setClass("test",representation(x="character")) [1] "test" > setMethod("[","test",function(x,i,j,...,drop) { + print(i) + if (missing(drop)) drop <- TRUE + print(drop) + }) [1] "[" > a = new("test",x="fred") > a[1] [1] 1 [1] TRUE
On 9/8/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > Full_Name: John Verzani > Version: 2.4.0 alpha (2006-09-05 r39134) > OS: linux, gentoo 2.6.17 > Submission from: (NULL) (163.238.43.26) > > > When extending the "[" method to a new S4 class, the default value for the > drop > argument is not being found. Here is a small example: > > setClass("test",representation(x="character")) > setMethod("[","test",function(x,i,j,...,drop=TRUE) {print(i);print(drop)}) > a = new("test",x="fred") > a[1] > > resulting in: > > [1] 1 > Error in print(drop) : argument "drop" is missing, with no default > > I'm expecting TRUE for the value of drop. That's correct isn't? > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel