On Tue, Mar 12, 2013 at 12:59 PM, Szumiloski, John <john_szumilo...@merck.com> wrote: > Dear useRs, > > Some time ago I queried the list as to an efficient way of building a > function which acts as ls() but with a different default for all.names: > > http://tolstoy.newcastle.edu.au/R/e6/help/09/03/7588.html > > I have struck upon a solution which so far has performed admirably. In > particular, it uses ls() and not its explicit source code, so only has a > dependency on its name and the name of its all.names argument. Here is my > solution: > > lsall <- function(...) { > > thecall <- as.call(c(as.name('ls'), list(...))) > newcall <- match.call(definition=ls, call=thecall) > if( !('all.names' %in% names(newcall)) ) newcall[['all.names']] <- TRUE > eval(newcall, envir=parent.frame()) > > }#### end lsall
Why not just do: lsall <- function(..., all.names = TRUE) { ls(..., all.names = all.names) } ? Then the function practically documents itself. Hadley -- Chief Scientist, RStudio http://had.co.nz/ ______________________________________________ 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.