2014-05-13 5 views
12

क्या RStudio का उपयोग कर आर स्क्रिप्ट में सभी टिप्पणियों को हटाने का कोई तरीका है?क्या RStudio का उपयोग कर आर स्क्रिप्ट में सभी टिप्पणियों को हटाने का कोई तरीका है?

मुझे फ़ाइल को सबसे छोटे आकार में कम करने की आवश्यकता है। हालांकि, इस फाइल पर भारी टिप्पणी की गई है।

यदि मैं सही हूं तो REGEX का समर्थन करने वाले Rstudio में फ़ंक्शन को प्रतिस्थापित करें और प्रतिस्थापित करें इस प्रयास के साथ सहायक हो सकता है।

मैं किसी भी मदद की सराहना करता हूं।

+1

टिप्पणी करने के लिए किस चरित्र का उपयोग किया जाता है? '#'? – rmbaughman

+1

regex के रूप में '#। *' आज़माएं। – Roland

+0

रेगेक्स के साथ यह संभव है या नहीं: उदाहरण देखें http://stackoverflow.com/questions/2319019/। वैसे भी, एक लंबी कहानी; संक्षेप में: केवल पार्सर आपको बचाएगा। – gagolews

उत्तर

18

मैं इस कार्य को regexes के साथ नहीं पहुंचूंगा। यह काम कर सकता है, लेकिन केवल साधारण मामलों में। निम्नलिखित /tmp/test.R स्क्रिप्ट पर विचार करें:

x <- 1 # a comment 
y <- "#######" 
z <- "# not a comment \" # not \"" # a # comment # here 

f <- # a function 
    function(n) { 
for (i in seq_len(n)) 
print(i)} #... 

जैसा कि आप देख, यह एक छोटे राज्य के लिए जहां टिप्पणी वास्तव में शुरू होता है जटिल सा है।

आप अपने कोड (अच्छी तरह से, आप ने कहा कि आप छोटी से छोटी कोड संभव चाहते हैं) को पुन: फ़ॉर्मेट कोई आपत्ति नहीं है, कोशिश निम्नलिखित:

x <- 1 
y <- "#######" 
z <- "# not a comment \" # not \"" 
f <- function(n) { 
    for (i in seq_len(n)) print(i) 
} 
:

writeLines(as.character(parse("/tmp/test.R")), "/tmp/out.R") 

साथ /tmp/out.R दे देंगे जो

वैकल्पिक रूप से, formatR पैकेज से एक समारोह का उपयोग करें:

library(formatR) 
tidy_source(source="/tmp/test.R", keep.comment=FALSE) 
## x <- 1 
## y <- "#######" 
## z <- "# not a comment \" # not \"" 
## f <- function(n) { 
##  for (i in seq_len(n)) print(i) 
## } 

बीटीडब्ल्यू, tidy_source में blank तर्क है, जो आपकी रुचि का हो सकता है। लेकिन मैं इसे प्रारूप आर 0.10 + आर 3.0.2 के साथ काम नहीं कर सकता ...

+2

बिल्कुल मैं क्या सोच रहा था! और इससे रिक्त स्थान की संख्या भी कम होनी चाहिए ताकि यह कोड को कम कर दे :) – digEmAll

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

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