[R] Documentation on how to put classes and methods in packages	with namespace?
    Jens Henrik Badsberg 
    JensHenrik.Badsberg at agrsci.dk
       
    Tue Mar 16 11:37:02 CET 2004
    
    
  
 Documentation on how to put classes and methods in packages with namespace?
 How should I define my classes and methods in "dynamicGraph"???
 (That is - Can some one point me to the documentation on
 how to put classes and methods in packages with a namespace? )
 Currently it is done by the code below.
 This gives problems, when a workspace with a "dynmaicGraph" is restored:
 1. run:
     local({a <- CRAN.packages()
     install.packages(select.list(a[,1],,TRUE), .libPaths()[1], available=a)})
     search()
     library(dynamicGraph)
     a <- DynamicGraph(1:10)
     search()
     ls(pos=3, all.names=TRUE)
     history()
     q(save="yes")
 2. run:
     search()
     ls()
     library(dynamicGraph)
     search()
     ls(pos=3, all.names=TRUE)
     b <- DynamicGraph(1:10)
     history()
 The classes and methods of dynamicGraph is not assigned, see the attached "run2.txt",
 and compare with the list of the objects of dynamicGraph in "run1.txt".
 I have experimented with the argument "where" to setClass, etc., see the attached
 "onLoad.R".
 Regards,
 Jens Henrik Badsberg
".onAttach" <-
function (lib, pkg) 
{
    require(tcltk)
}
".onLoad" <-
function (lib, pkg) 
{
    .onLoad.dynamicGraph()
}
".onLoad.dynamicGraph" <-
function () 
{
    library(methods)
    setClass("GraphLatticeProto", representation(vertices = "list", 
        blocks = "list", blockTree = "list", graphs = "list"))
    setClass("CanvasProto", representation(top = "tkwin", canvas = "tkwin", 
        tags = "list", id = "numeric", visibleVertices = "numeric", 
        graphEdges = "list", blockEdges = "list", factorVertices = "list", 
        factorEdges = "list"))
    setClass("NodeProto", representation(color = "character", 
        label = "character", label.position = "numeric"), prototype(color = "black", 
        label = "Label", label.position = c(0, 0, 0)))
    ### .... Many lines deleted ....
    if (!isGeneric("label")) {
        if (is.function("label")) 
            fun <- label
        else fun <- function(object) standardGeneric("label")
        setGeneric("label", fun)
    }
    setMethod("label", "NodeProto", function(object) object at label)
    setGeneric("label<-", function(x, value) standardGeneric("label<-"))
    setReplaceMethod("label", "NodeProto", function(x, value) {
        x at label <- value
        x
    })
    ### .... Many lines deleted ....
}
 <<run1.txt>>  <<run2.txt>>  <<onLoad.R>> 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: run1.txt
Url: https://stat.ethz.ch/pipermail/r-help/attachments/20040316/9729437f/run1.txt
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: run2.txt
Url: https://stat.ethz.ch/pipermail/r-help/attachments/20040316/9729437f/run2.txt
    
    
More information about the R-help
mailing list