2013-02-28 29 views
3

我創建了一個setRefClass,我想知道如何實現訪問器,以便當您創建此類的新實例時,可以使用setXXX,getXXX來訪問這些字段。 我正在考慮在初始化方法中使用.self$accessors(names(.self$fields())),但它似乎不起作用。R setRefClass訪問器

pathRoot <- setRefClass(
    Class = "pathRoot", 
    fields = list(
      # basic info of path 
      W = "character", 
      Y = "character", 
      H = "character" 
      ), 
    ) 

回答

3

爲了automatatically生成getter和setter,只需使用方法accessors

pathRoot$accessors(c("W", "Y", "H")) 

p = pathRoot$new(W="A",Y="B",H="C") 
R> p$getY() 
[1] "B" 
R> p$setW("Hi") 
R> p$getW() 
[1] "Hi" 

還可以經由$訪問的變量,例如

p$W 
+1

有什麼方法可以將它添加到類的定義中嗎? – user1176316 2013-02-28 10:33:12

+0

我不這麼認爲(但我從來沒有真正想過)。我通常定義這個類,並在其下面添加'accessors'行。 – csgillespie 2013-02-28 10:38:22

+0

好吧,我會去下面的線,但它不是很乾淨(我的意見)。 thx爲你的幫助 – user1176316 2013-02-28 10:39:18