5
我想知道在R5參考類中定義類方法和類變量的正確方法。在R5參考類中定義類方法和類變量
下面是一個例子:
> # define R5 class XX
> # member variable: ma
> # member method: mfa
> XX <- setRefClass("XX",
+ fields = list(ma = "character"),
+ methods = list(
+ mfa = function() return(paste(ma, "*"))
+ ))
>
> XX
Generator object for class "XX":
Class fields:
Name: ma
Class: character
Class Methods:
"callSuper", "copy", "export", "field", "getClass", "getRefClass", "import", "initFields",
"mfa"
Reference Superclasses:
"envRefClass"
> # create an instance of XX
> x <- XX$new(ma="ma")
>
> # call member method refering to the member variable.
> x$mfa()
[1] "ma *"
>
> # here, I define *class* variable
> XX$cc <- "cc"
> # contents of XX
> ls(XX)
[1] "cc" "className" "def" "methods" "new"
> # here, I define member method referring to the class var.
> XX$methods(mfc = function() {
+ return(XX$cc)
+ })
> # it does work.
> x$mfc()
[1] "cc"
的XX$cc <- "cc"
的行爲如同cc
是XX的類變量,但我不知道這是否是一個正確的做法。
例如,XX $ def < - 「hoge」可以打破XX類發電機。
所以,我想知道是否有一個標準的方法來定義類變量和方法。
在此先感謝。
我不認爲在引用對象框架中存在等價的類方法/變量。 – hadley 2011-04-22 13:28:37
@hadley謝謝。那麼,你認爲有什麼理由不在R5類中實現類方法/變量嗎? – kohske 2011-04-22 14:10:53
我只是不認爲他們有任何作用。你能提供一個你需要什麼類變量/方法的例子嗎? – hadley 2011-04-22 15:56:39