Neat! What if, instead, one wanted to format his/her code in the console before sending it by email? Any tips for that?
(I proposed something like options("prompt"=" ") above, but got stuck with adding a comment # to printed results) Thanks, baptiste 2009/9/19 Gabor Grothendieck <ggrothendi...@gmail.com>: > Combining the code posted by myself, Duncan and David we have: > > # Usage: copy code from r-help to clipboard, then in R enter this: > # source.commands() > # > source.commands <- function(echo = TRUE, max.deparse.length = Inf, ...) { > # L <- readLines(pipe("pbpaste")) # use this instead for Mac > L <- readLines("clipboard") > L <- grep("^[[:blank:]]*[^>+[:blank:]]*[>+]", L, value = TRUE) > L <- sub("^[[:blank:]]*[^>+[:blank:]]*[>+] ?", "", L) > source(textConnection(L), echo = echo, > max.deparse.length = max.deparse.length, ...) > } > > It might be possible to automate the check for Mac using .Platform$GUI > > > On Sat, Sep 19, 2009 at 12:08 PM, David Winsemius > <dwinsem...@comcast.net> wrote: >> >> On Sep 19, 2009, at 11:58 AM, johannes rara wrote: >> >>> Thanks for the responses. >>> >>> I think that the best way to avoid lots of hassle is that people >>> copy-paste their solutions from their code editor, NOT from R console. >>> For example, I usually save those solutions for my code archive, and >>> if I want to run these later on (using Tinn-R), I have to parse ">" >>> and "+" marks anyway. >> >> I agree entirely but trying to change posting behavior appears to be a >> difficult exercise. It would also be much preferred if people would learn to >> post the output of dput on an object, rather than what is displayed on the >> console when the object is print()ed. >> >> -- >> David. >>> >>> -Johannes >>> >>> 2009/9/19 David Winsemius <dwinsem...@comcast.net>: >>>> >>>> On Sep 19, 2009, at 10:58 AM, Duncan Murdoch wrote: >>>> >>>> >> snip >>>>> >>>>> >>>>> Here's a quick version of CleanTranscript, translated to R: >>>>> >>>>> CleanTranscript <- function(lines) { >>>>> lines <- grep("^[[:blank:]]*[^>+[:blank:]]*[>+]", lines, value = TRUE) >>>>> lines <- sub("^[[:blank:]]*[^>+[:blank:]]*[>+] ?", "", lines) >>>>> } >>>>> >>>>> So on systems where "clipboard" is supported, executing >>>>> >>>>> source(textConnection(CleanTranscript(readLines("clipboard"))), >>>>> echo = TRUE, max.deparse.length=Inf) >>>>> >>>>> will do something similar to what the Windows "Paste commands only" menu >>>>> option does, but you'd need a different incantation on other systems. >>>>> And >>>>> even this will sometimes mess up, e.g. it will sometimes misinterpret >>>>> output >>>>> that contains > or + as input. >>>>> >>>>> Duncan Murdoch >>>> >>>> On Macs (and possibly other *NIXen) the equivalent to reading from the >>>> "clipboard" is: pipe("pbpaste") >>>> >>>> Testing shows that a simple modification after defining CleanTranscript >>>> produces no error on the example above: >>>> >>>>> source(textConnection(CleanTranscript(readLines(pipe("pbpaste")))), >>>> >>>> + echo = TRUE, max.deparse.length=Inf) >>>> >>>>> example(mean) >> >>> >> snip >> ---- >> David Winsemius, MD >> Heritage Laboratories >> West Hartford, CT >> >> ______________________________________________ >> 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. >> > > ______________________________________________ > 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. > ______________________________________________ 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.