Fabulous example, Baptiste! Yeah, the knock is that it's just not at all clear and too often symptomatic of someone trying to be too clever by half when there's usually a better way. There are times when these tricks can be really helpful for non-standard evaluation (e.g., the curve() function -- super cool, but not at all easy to understand on a quick read) but overall it's just not a very R idiom. You can see where it shows up "in the wild":
which(sapply(apropos("*"), function(f) any(grepl("eval(parse", deparse(get(f)), fixed = TRUE)))) #Speaking of a lack of clarity.... Michael On Wed, Jan 18, 2012 at 10:03 PM, baptiste auguie <baptiste.aug...@googlemail.com> wrote: > One reason might be that you can easily fool the user into running > unexpected/unreadable commands. Guess what this does: > > cmd <- paste(c(letters[c(19L, 25L, 19L, 20L, 5L, 13L)], "(' ", > letters[c(19L, 21L, 4L, 15L)], " ", letters[c(4L, > 5L, 19L, 20L, 18L, 15L, 25L)], " ", letters[c(1L, 12L, 12L)], " ')"), > collapse="") > > ## not run > ## eval(parse(text=cmd)) > > b. > > On 19 January 2012 11:05, Wet Bell Diver <wetbelldi...@gmail.com> wrote: >> >> for my info, why is this rarely a good idea? Is that the case for this >> particular example , or is eval(paste()) generally rarely a good idea? >> >> --Peter >> >> Op 18-1-2012 22:22, R. Michael Weylandt schreef: >> >>> eval(parse(text = a)) >>> >>> But this is rarely a good idea....perhaps you could say a little more >>> about your overall goal and we could direct you to a more "R"-ish >>> solution? >>> >>> library(fortunes) >>> fortune("rethink") >>> >>> Michael >>> >>> On Wed, Jan 18, 2012 at 4:18 PM, Ajay Askoolum<aa2e...@yahoo.co.uk> >>> wrote: >>>> >>>> Given >>>> >>>> a<-"c(1,2,3,4,5)" >>>> >>>> How can I evaluate the variable a to return a (numeric) vector >>>> comprising of 1,2,3,4,5? Thanks. >>>> >>>> [[alternative HTML version deleted]] >>>> >>>> >>>> ______________________________________________ >>>> 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. > > ______________________________________________ > 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.