如何调试像 getFields 这样的调用?我试过library(debug); mtrace(AB.setFields)
了,但什么也没发生。
此外还有一些更好的方法来定义 AB.setFields?
AB.getFields<-function(){
return(list(name,var2))
}
AB.setFields<-function(fields){
namevar<-names(fields)
for(i in 1:length(fields)) do.call("<<-",list(namevar[i],fields[[i]]))
}
AB <- setRefClass("AB", fields=c(name="character",
var2="factor"),
methods=list(getFields=AB.getFields
,setFields=AB.setFields)
)
a<-AB(name="abc",var2=factor(LETTERS[1:3]))
a$getFields()
fields<-list(name="aaa",var2=factor(1:3))
a$setFields(fields)
a$getFields()