[R] S4 "["-method called twice - why?
jim holtman
jholtman at gmail.com
Wed Dec 8 13:39:04 CET 2010
I don't think it is being called twice; you are seeing the return
value printed out:
> setClass("testClass",
+ representation(a="character"))
[1] "testClass"
>
> setMethod("[", signature(x = "testClass", i = "ANY", j="ANY"),
+ function (x, i, j, ..., drop){
+ print("void function")
+ return(NULL)
+ }
+ )
[1] "["
> x <- new("testClass")
> x[1]
[1] "void function"
NULL
>
On Wed, Dec 8, 2010 at 6:41 AM, Mark Heckmann <mark.heckmann at gmx.de> wrote:
> Dear list,
>
> When playing around with the "[" method for S4 classes I noticed that it gets called twice in my example.
>
> setClass("testClass",
> representation(a="character"))
>
> setMethod("[", signature(x = "testClass", i = "ANY", j="ANY"),
> function (x, i, j, ..., drop){
> print("void function")
> }
> )
>
>> x <- new("testClass")
>> x[1]
> [1] "void function"
> [1] "void function"
>> x[1,1]
> [1] "void function"
> [1] "void function"
>> x[1,1,1]
> [1] "void function"
> [1] "void function"
>>
>
> Why is that so? Can someone help me understand the logic behind it?
>
> Thanks,
> Mark
>
> –––––––––––––––––––––––––––––––––––––––
> Mark Heckmann
> Blog: www.markheckmann.de
> R-Blog: http://ryouready.wordpress.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.
>
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
More information about the R-help
mailing list