2015-11-04 8 views
8

पर विचार करें निम्नलिखित आर समारोह परिभाषा के अंदर होता है roxygen2 का उपयोग कर, प्रलेखित किया जाना (संस्करण> = 5,0)roxygen2 (संस्करण 5.0) गलत तरीके से प्रलेखन से उत्पन्न होने वाला # 'समारोह

#' @title Test Bug 
#' @author Daniel Egan 
#' @param x 
#' @return Nothing 
#' @export 
#' @examples 
#' testFun(x) 


testFun <- function(x){ 

    #' Warning1' 
    return(TRUE) 
} 

DevTools :: दस्तावेज़ का उपयोग करते समय()

Warning messages:
1: @examples [TestFun.R#8]: mismatched braces or quotes

नोट वहाँ निश्चित रूप से कोई बेमेल ब्रेसिज़ या "उदाहरण" खंड में उद्धरण हैं कि: इस दस्तावेज़ के लिए, यह निम्न त्रुटि पैदा करता है। इसके उत्पन्न होने का कारण क्या है? मेरे द्वारा यह कैसे किया जा सकता है?

+0

गीथब को भेजने के लिए एक बग रिपोर्ट की तरह लगता है। कामकाज: ऐसा मत करो! अपने पाउंड साइन के बाद एक जगह रखो। –

+1

यह एक बग नहीं है। बस यह मत करो। –

+0

संबंधित गिटहब मुद्दा: https://github.com/klutometis/roxygen/issues/428 – krlmlr

उत्तर

4

यह roxygen2 पैकेज में हालिया परिवर्तनों के कारण है। NEWS से:

The contents of documented functions are now also parsed for roxygen comments. This allows, e.g., documenting a parameter's type close to where this type is checked, or documenting implementation details close to the source, and simplifies future extensions such as the documentation of R6 classes.

इसका मतलब यह है किसी भी roxygen शैली टिप्पणी है कि कोड ब्लॉक अंदर पार्स किया जाएगा। यदि आपके पैकेज के कोड में फ़ंक्शंस के अंदर ऐसी टिप्पणियां हैं, तो आप शायद उन्हें सादे टिप्पणियों के साथ प्रतिस्थापित करना चाहते हैं, यानी #'# द्वारा प्रतिस्थापित करें। इस एक बार के परिवर्तन के बाद, जब तक इरादा न हो, कोड कोड में अब roxygen-style टिप्पणियों का उपयोग न करें।

निम्नलिखित कमांड लाइन (sed की आवश्यकता है) विकल्प वर्तमान निर्देशिका के R/ उपनिर्देशिका में सभी फाइलों में सादे टिप्पणी के साथ सभी जगह-इंडेंट roxygen शैली टिप्पणियाँ:

sed -r -i"" "s/(+#)'/\1/" R/* 

अपनी आवश्यकताओं के लिए यह अनुकूल बनाएं।

+0

यहां एक उदाहरण होना अच्छा होगा, आर 6 कक्षाओं को दस्तावेज करना इस तरह अच्छा लगता है! – jangorecki

+2

@jangorecki: नियोजित, लेकिन जाने के लिए एक लंबा रास्ता ... – krlmlr

संबंधित मुद्दे