2015-03-07 21 views
7

R6 sınıflarına statik yöntemler eklemenin bir yolu var mı? Örneğin, bir işlev ben R6 uzmanı değilim ama her R6 sınıf bir ortam olduğu için, size istediğiniz bir şey ekleyebilirR6 sınıflarında statik yöntemler

MyClass$method() 

yerine

myinstance <- MyClass$new() 
myinstance$method() 

cevap

6

gibi denebilecek bu ortam.

gibi:

MyClass$my_static_method <- function(x) { x + 2} 
MyClass$my_static_method(1) 
#[1] 3 

Ama yöntem sınıfa örneğinde çalışmaz:

instance1 <- MyClass$new() 
instance1$my_static_method(1) 
# Error: attempt to apply non-function 

Sen sınıf ortamında mevcut nesnelerle dikkatli olmalıdır. Zaten tanımlanmış olanı görmek için kullanın ls(MyClass)

İlgili konular