2016-09-14 6 views
5

में फंक्शन कॉल को कॉरर्स करें, मैं समझने की कोशिश कर रहा हूं कि आर में call ऑब्जेक्ट क्या है और इसे वर्णों में समन्वयित करने के लिए। हालांकि अब तक मेरे प्रयास व्यर्थ हैं।एक स्ट्रिंग

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)" 

मैं भी समारोह है कि एक समारोह कॉल (print.call की तरह कुछ) प्रिंट की तलाश की है। लेकिन मुझे यह नहीं मिला।

क्या कोई यहां जानता है कि कॉल ऑब्जेक्ट्स कैसे मुद्रित होते हैं? समारोह (एक = 1) {as.character -

+1

वहाँ एक आसान तरीका पीछे <हो सकता है लेकिन ' (as.expression (sys.call()))} – alistaire

+0

'as.expression 'नौकरी करता है, धन्यवाद @alistaire – RockScience

उत्तर

5

हम match.call()deparse

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

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

साथ sys.call() साथ समारोह में उपयोग या match.call() की जगह ले सकता