2011-11-28 11 views
6

का उपयोग करते समय आरआरडी फ़ाइल में तर्क विवरण ऑर्डर करें मान लें कि मैं एक छोटा आर पैकेज लिख रहा हूं जिसमें दो कार्य शामिल हैं जिनमें एक को छोड़कर एक ही तर्क है।roxygen2 टैग @inheritParams

fct1 <- function(r, K){...} 
fct2 <- function(r, p, K){...} 

पहले समारोह मैं निम्न टैग का उपयोग की मेरी roxygen2 प्रलेखन में: यहाँ एक उदाहरण है

#' @param p description of argument p 
#' @inheritParams fct1 
:

#' @param r description of argument r 
#' @param K description of argument K 

दूसरे समारोह के लिए, मैं निम्न टैग का उपयोग

roxygenize के साथ मेरे कोड को संसाधित करने के बाद, फ़ंक्शन fct2 के लिए .dd फ़ाइल निम्न क्रम में तर्क प्रस्तुत करती है: पी, आर, के। मैं उन्हें उपयोग खंड की तुलना में एक ही क्रम में रखना चाहता हूं, जो कि है : आर, पी, के। मैं इस आदेश को मैन्युअल रूप से परिवर्तित करने के बिना कैसे प्राप्त कर सकता हूं। आरडी फाइल?

मैं कॉपीिंग और पेस्टिंग से बचने के लिए @inheritParams का उपयोग करने पर जोर देता हूं।

धन्यवाद!

+1

https://github.com/klutometis/roxygen/issues – hadley

+0

@ हैडली पर एक बग फ़ाइल करें, क्या गिटूब पर किसी खाते के बिना बग की रिपोर्ट करना संभव है? धन्यवाद – user1069707

+1

नहीं, लेकिन खाते नि: शुल्क और स्थापित करने में आसान हैं। दुर्भाग्यवश इन स्पैम-भरे दिनों में खातों की आवश्यकता है। – hadley

उत्तर

2

मुझे एक ही समस्या है। अभी के लिए मैं गलत तर्क आदेश से बचने के लिए छोटी सी चाल का उपयोग करता हूं।

उपयोग कोड (अलग .R फ़ाइल में उदा):

#' Function arguments 
#' 
#' @keywords integral 
#' 
#' @name fargs 
#' 
#' @param r .. 
#' @param p .. 
#' @param K .. 
#' 
#' 
NULL 

और दोनों कार्यों के लिए उपयोग

#' @inheritParams fargs 

इस मामले में यह आसान था, लेकिन अधिक जटिल उदाहरणों में यू इस कोड के कई ब्लॉक (प्रत्येक प्रकार के तर्कों के लिए अलग ब्लॉक) का उपयोग कर सकते हैं। शायद यह इतना आसान तरीका नहीं है लेकिन आप कहीं भी उसी कोड को दोहराना नहीं चाहते हैं। मैं अलग-अलग तर्कों में उस ब्लॉक को संग्रहीत करता हूं। आर फ़ाइल इसलिए प्रत्येक उत्तराधिकारी तर्क एक फ़ाइल में है।

एक और तरीका है टेम्पलेट का उपयोग कर रहा है, लेकिन इस विधि लचीला नहीं है और हर ब्लॉक के लिए आप अलग .R फ़ाइल बनाना होगा। इसलिए मैं सलाह देता हूं कि आप कोड के सिममिलरी ब्लॉक का उपयोग करें।

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