R中S4对象系统中"this"(如Java或C++)的等价物

What the equivalent of "this" (as in Java or C++) in S4 object system in R

现在我明白了R的S4对象系统与C++或Java有很大的不同。

不过我想问的是有没有什么类似于 S4

中的 "this"

方法在泛型上定义并在 class 上分派,而不是在 class 上。所以 this 总是被调度的对象。

.A = setClass("A", slots = c(a = "integer"))

setGeneric("foo", function(x) standardGeneric("foo"))

setMethod("foo", "A", function(x) {
   x@a        # 'x' is the object that `foo()` dispatches on, i.e., 'this'
})

用法:

> y = .A(a=1:5)
> foo(y)
[1] 1 2 3 4 5