所以我有了我的目标,让我们说
a<- new ("A")
a@param$stuff <- "MyStuff"
来设置该值。我知道这不是一个好的做法。我使用以下代码在我的类
param
中设置插槽 A
的特定属性。 如您所见,param
是一个命名列表。param(a)$stuff <- "MyStuff"
我认为我做得不好,因为实际上它正在使用访问器,我可能是错的......
我接下来提供的以下方式是可以的,我认为当您设置整个列表时,但我想按元素进行操作。
param(a) <- list(stuff="MyStuff")
setClass("A",
slots = c(
param = "list"
),
prototype = list(
param = list(stuff = FALSE)
)
)
# ACCESSOR
setGeneric("param", signature="x",
function(x) standardGeneric("param")
)
setMethod("param", "A", function(x) x@param)
# SETTER
setGeneric("param<-", signature=c("x", "value"),
function(x, value) standardGeneric("param<-")
)
setMethod("param<-", "A", function(x, value) {
x@param <- value
methods::validObject(x)
x
})
enter code here
一个<- new("A")
参数(a)<- list(stuff = "MyStuff")
一个<- setParamElement(a, "stuff", "NewStuff") print(a@param$stuff) # Output: "NewStuff"