Ben Bolker <[EMAIL PROTECTED]> wrote:
          Yes, although this becomes tedious if (e.g.) you have a function that 
        calls two different functions, each of which has many arguments (e.g. 
        plot() and barplot(); then you have to set up a whole lot of arguments 
        that default to NULL and, more annoyingly, you have to document them all 
        in any .Rd file you create -- rather than just having a ... argument which 
        you can say should contain arguments for either of the subfunctions (as 
        long as the arguments don't overlap, of course)
        
Could I suggest a very simple alternative, which extends gracefully to
any number of arguments, and doesn't require you to know anything much
about ... except that you can pass it to another function?

> f <- function(...) {
+     has.ylim <- function(..., ylim) return(!missing(ylim))
+   
+     if (has.ylim(...)) "yes" else "no"
+ } 
> f(xlim=1)
[1] "no"
> f(ylim=2)
[1] "yes"

For each parameter XXX that you want to test the presence of, write
    has.XXX <- function(..., XXX) return(!missing(XXX))
and then use
    has.XXX(...)
in the body of the main function.

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to