[Rd] Reference Classes: Accessing methods via [[...]], bug?

Hadley Wickham hadley at rice.edu
Sun May 1 04:54:39 CEST 2011


If this message is garbled for anyone else, the original question on
stackoverflow is here:
http://stackoverflow.com/questions/5841339/using-notation-for-reference-class-methods

Hadley

On Sat, Apr 30, 2011 at 11:35 AM, Chad Goymer <chad.goymer at hotmail.co.uk> wrote:
>
> I've been trying to use methods for reference classes via the notation "[[...]]" (X[["doSomething"]] rather than X$doSomething), but it failed to work. However, I did find that if you use the usual "$" notation first, "[[...]]" can be used afterwards. The following simple example illustrates the point:
>> setRefClass("Number", +   fields = list(+     value = "numeric"+   ),+   methods = list(+     addOne = function() {+       value <<- value + 1+     }+   )+ )> X <- new("Number", value = 1)> X[["value"]][1] 1
>> X[["addOne"]]()Error: attempt to apply non-function> class(X[["addOne"]]) # NULL[1] "NULL"
>> class(X$addOne)[1] "refMethodDef"attr(,"package")[1] "methods"
>> X[["addOne"]]()> X[["value"]][1] 2> class(X[["addOne"]])[1] "refMethodDef"attr(,"package")[1] "methods"
> Is this a bug?
> Chad Goymer
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



-- 
Assistant Professor / Dobelman Family Junior Chair
Department of Statistics / Rice University
http://had.co.nz/



More information about the R-devel mailing list