Dear all,

Another question related to my ggplot package:  I have made some
substantial changes to the backend of my package so that plot objects
can now describe themselves much better.  A consequence of this is
that a number of convenience functions that previously I wrote by
hand, can now be written automatically.  What is the best practice for
creating these functions for bundling in a package?  I see three
possible solutions:

 * dump function specifications out to a .r file
 * dynamically create at package build time so they are including in
the package rdata file
 * dynamically create at package load time

Can anyone offer any advice as to which is preferable? (or if there's
a better way I haven't thought of)

My code currently looks like this (experimenting with two ways of
creating the functions)

create_accessors <- function(objects, name, short=NULL) {
        lapply(objects, function(x) {
                assign(paste(name, x$objname, sep="_"), x$new, pos=globalenv())
                if (!is.null(short)) {
                        eval(
                                substitute(
                                        f <- function(plot, ...) plot + 
add(...),
                                        list(
                                                add = as.name(paste(name, 
x$objname, sep="_")),
                                                f = as.name(paste(short, 
x$objname, sep=""))
                                        )
                                ), envir = globalenv()
                        )
                                
                }
        })              
}

Thanks,

Hadley

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to