I wish to create a call object from a string. alist(), which does more or less what I want in interactive (manual input) mode, doesn’t seem to have coercion methods, nor does as.call do what I would hope.
Consider the following code,
string = "<<mychunk, cache=TRUE, fig.show=hold, dev=png, echo=c(1,3)>>="
sanitized = gsub("<<|>>=", "", string)
## as.call(sanitized)
## as.alist(sanitized)
as.alist.character <- function(x)
eval(parse(text = paste("alist(", x, ")")))
as.alist.character(sanitized)
Now, eval(parse) is frowned upon in my (infernal) circles; can you suggest better?
Thanks.
I’m just copying my own dirty solution here from #142 which is pretty much equivalent to yours (and has the same issue about “infernal circles”):
Let’s see if there are other cleaner tricks.