R, eval()
örneğin bir dize tarafından sağlanan hesaplamaları gerçekleştirmek için işlevini kullanıp kullanamayacağını merak ediyorum .
Bu yaygın bir durumdur:
eval("5+5")
Ancak, 10 yerine:
[1] "5+5"
Herhangi bir çözüm?
eval(parse(text = *))
sahte çözümler geliştiren insanlar tarafından .
QQ = c('11','12','13','21','22','23')
yani: QQ = c (..., 'ij', ..) ile i, j çalıştırmak için değişebilir bir aralıkta değişen. Bu ve benzeri örnekler için, komut dosyasını olarak yazabilirim paste( "QQ = c('", paste(rep(1:2,each=3),1:3, sep="", collapse="','"), "')",sep="")
ve seçenek eval(parse(text=...))
, komut dosyasına göre çalışma ortamında vektör QQ'yu oluşturur. "Text = ..." ile olmasaydı bunu yapmanın uygun R kodlayıcı yolu ne olurdu?
string
? Martin Mächler'in cevabı çok daha fazla oyu hak etmeli.