Я хочу создать объект вызова из строки. alist()
, который делает более или менее то, что я хочу в интерактивном (ручном вводе) режиме, похоже, не имеет методов принуждения, и as.call
не делает то, что я надеюсь.
Рассмотрим следующий код,
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)
Теперь, eval(parse)
осуждается в моих (адских) кругах; Вы можете предложить лучше?
Спасибо.