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.

Reply via email to