Dear all, To explain my problem I am attaching a demonstration package "myclasspkg": I have the following two S4 classes with similar inheritance: SubSubClassA <- SubClassB <- BaseClass SubSubClassB <- SubClassB <- BaseClass
In R I am calling the following functions: > library(myclasspkg)> subA <- new("SubClassA",filename="OutSubA",filedir="/Volumes/CoreData/CRAN/Workspaces/rclasspkg",mytitle="TitleSubA") > subsubA <- new("SubSubClassA",filename="MyFileName",filedir="/Volumes/CoreData/CRAN/Workspaces/rclasspkg",subA=subA) > subsubB <- new("SubSubClassB",filename="MyFileNameB",filedir="/Volumes/CoreData/CRAN/Workspaces/rclasspkg",subA=subA)
Creating subsubA works fine and gives the correct result:> subsubA <- new("SubSubClassA",filename="MyFileName",filedir="/Volumes/CoreData/CRAN/Workspaces/rclasspkg",subA=subA)
[1] "------initialize:SubSubClassA------" [1] "SubSubClassA:init:class(.Object) = SubSubClassA" [1] "------initialize:SubClassB------" [1] "SubClassB:init:class(.Object) = SubSubClassA" [1] "------initialize:BaseClass------" [1] "BaseClass:init:class(.Object) = SubSubClassA" [1] "------pathFile------"[1] "BaseClass:init:dirfile = /Volumes/CoreData/CRAN/Workspaces/rclasspkg/MyFileName"
[1] "------setValidity:BaseClass------" [1] "BaseClass:val:class(object) = SubClassB"[1] "BaseClass:val:dirfile = /Volumes/CoreData/CRAN/Workspaces/rclasspkg/MyFileName"
[1] "BaseClass:val:filedir = /Volumes/CoreData/CRAN/Workspaces/rclasspkg" [1] "------setValidity:SubClassB------" [1] "SubClassB:val:class(object) = SubClassB" [1] "SubClassB:val:filename = MyFileName"[1] "BaseClass:val:dirfile = /Volumes/CoreData/CRAN/Workspaces/rclasspkg/MyFileName"
[1] "------setValidity:SubSubClassA------" [1] "SubSubClassA:val:class(.Object) = SubSubClassA" In contrast, when trying to create subsubB, it seems that setValidity re-initializes SubClassB:> subsubB <- new("SubSubClassB",filename="MyFileNameB",filedir="/Volumes/CoreData/CRAN/Workspaces/rclasspkg",subA=subA)
[1] "------initialize:SubSubClassB------" [1] "SubSubClassB:init:class(.Object) = SubSubClassB" [1] "SubSubClassB:init:subsubnameB = subsubNameB" [1] "------initialize:SubClassB------" [1] "SubClassB:init:class(.Object) = SubSubClassB" [1] "------initialize:BaseClass------" [1] "BaseClass:init:class(.Object) = SubSubClassB" [1] "------pathFile------"[1] "BaseClass:init:dirfile = /Volumes/CoreData/CRAN/Workspaces/rclasspkg/MyFileNameB"
[1] "------setValidity:BaseClass------" [1] "------initialize:SubClassB------" [1] "SubClassB:init:class(.Object) = SubClassB" [1] "------initialize:BaseClass------" [1] "BaseClass:init:class(.Object) = SubClassB" [1] "------pathFile------" Error in if (dirname(filename) != ".") { : argument is of length zero Can someone tell me why the first case works fine, but the second case not?Probably, I am making some mistake, but since two weeks I am unable to find it.
Thank you in advance. P.S.: I am running R-2.5.0 on Intel-Mac OS 10.4.8. Best regards Christian _._._._._._._._._._._._._._._._ C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a V.i.e.n.n.a A.u.s.t.r.i.a _._._._._._._._._._._._._._._._
myclasspkg_0.1.1.tar.gz
Description: GNU Zip compressed data
______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel