On Tue, 12 Feb 2008, Alistair Gee wrote:

> I often want to temporarily modify the options() options, e.g.
>
> a <- seq(10000001, 10000001 + 10) # some wide object
>
> with.options <- function(..., expr) {
>  options0 <- options(...)
>  tryCatch(expr, finally=options(options0))
> }
>
> Then I can use:
>
> with.options(width=160, expr = print(a))
>
> But I'd like to avoid explicitly naming the expr argument, as in:
>
> with.options(width=160, print(a))
>
> How can I do this with R's argument matching?

You can't.  You could provide a list, though:

with.options <- function(optionlist,expr){
   option0<-options(optionlist)
   on.exit(options(options0))
   eval.parent(expr)
}

then 
with.options(width=160, print(a))
with.options(list(width=160, warn=1), print(a))


        -thomas

Thomas Lumley                   Assoc. Professor, Biostatistics
[EMAIL PROTECTED]       University of Washington, Seattle

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to