いくつかのポリモーフ コンストラクターと関数を定義する方法
function Add( x, y : Integer ) : Integer; begin Add := x + y end; function Add( s, t : String ) : String; begin Add := Concat( s, t ) end; begin Writeln(Add(1, 2)); Writeln(Add('Hello, ', 'World!')); end.
のような場合の決定によってのみこれを行うことはできますか
A<-setRefClass(Class = "A"
,fields = list(var1="character")
,methods = list(setFields=A.setFields
,initialize=function(var1) {
if(isClass(var1,"B"))
.self$var1<-as.character(var1$getFields("var1"))
else{
.self$var1<-as.character(var1)
}
.self
})
)
関数型プログラミングとオブジェクト指向プログラミングを組み合わせる方法。したがって、関数 getFields(vecB) を呼び出す場合、vecB はオブジェクト B のベクトルまたはリストです。戻り値は各オブジェクトの値である必要がありますか?
B.getFields<-function(...,values){ vars<-mget(names(.refClassDef@fieldClasses), envir = attr(.self, ".xData")) if(missing(values)) return(vars) if(length(vars)==1) return(vars[[1]]) return(vars[names(vars) %in% values]) } B<-setRefClass(Class = "B" ,fields = list(var1 = "character") )
クラスAから初期化する関数などをデバッグする方法は? 私は試した
A$trace("initialize") a<-A$new("ABC") initial<-a$initialize trace(initial,browser,where=A)
しかし、うまくいきません。