2016-09-14 30 views
5

R içinde call nesnesinin ne olduğunu anlamaya çalışıyorum ve bunları karakterlere zorla. Ancak çabalarım şimdiye kadar boşuna olmuştur.dizgeye bir işlev çağrısı zorla

myFun=function(a=1) { x=sys.call() return(as.character(x)) } 

x=myFun(a=2) # here I would like to get the string "myFun(a = 2)" 

Ben de bir fonksiyon çağrısı (print.call gibi bir şey) yazdırır işlevi için seyir olmuştur. Ama ben bulamadım.

Burada herhangi bir kişi nasıl arama nesnesi yazdırıldığını biliyor mu? fonksiyonu (a = 1) {as.character -

+1

'myFun alistaire

+0

'as.expression' işini yapıyor, teşekkürler @alistaire – RockScience

cevap

5

Biz işlevinde sys.call() ile match.call()deparse

myFun <- function(a=1) { 
      deparse(match.call())  
    } 

myFun(a=2) 
#[1] "myFun(a = 2)" 

ile match.call() kullanmak Veya yerini alabilir