2012-01-15 33 views
6

Tôi có chức năng không có gì khác ngoài quảng cáo attr duy nhất cho bất kỳ đối tượng R nào. Cơ sở giới thiệu:Chức năng đặt tài liệu với roxygen

#' Setter function 
#' @param x an R object 
#' @param value a character value to set 
#' @export 
`foo<-` <- function(x, value){ 
    attr(x, 'foo') <- value 
    return(x) 
} 

này hoạt động như một nét duyên dáng, ngoại trừ để tạo ra một tập tin Rd tốt, một phần có liên quan:

\usage{ 
    foo(var, value) <- value 
} 

Và tất nhiên nó gây nên một cảnh báo khi chạy R CMD check như nó phải được foo(var) <- value.

Mọi gợi ý sẽ thực sự được đánh giá cao!


Cập nhật: nhờ richierocks có vẻ như có một fix

+0

Bạn đang sử dụng roxygen hoặc roxygen2? – hadley

+0

@hadley: roxygen2, chỉ cần thêm thẻ roxygen cũng để đạt được nhiều sự chú ý hơn. – daroczig

+0

Bạn đang sử dụng phiên bản nào? Roxygen2 sẽ tự động thực hiện điều đó từ 2.2 – hadley

Trả lời

7

Bạn có thể sử dụng thẻ roxygen @usage

Dưới đây là một ví dụ từ một trong các gói của tôi:

#' @rdname pattern 
#' @usage pattern(x) <- value 
#' @param value New value 
#' @export pattern<- 
"pattern<-" <- function(x, value=c("^", "($|(_\\d+(_\\d+)*)$)")){ 
    attr(x, "pattern") <- value 
    x 
} 

Kết quả này trong tài liệu mong muốn của tôi:

Usage 

    pattern(x) <- value 

Arguments 
x surveydata object 

value New value 
+0

Làm việc như một sự quyến rũ, cảm ơn @Andrie vì đã hướng sự chú ý của tôi đến '@ usage' - Tôi chỉ không làm thế nào tôi có thể không chú ý đến thẻ hữu ích này. – daroczig

+1

Đó là bởi vì bạn không bao giờ nên sử dụng '@ usage' - bất cứ lúc nào bạn làm điều đó đều là lỗi trong roxygen2 và bạn nên gửi báo cáo lỗi. – hadley

+0

Cảm ơn @hadley, tôi đã thêm nhận xét về [vấn đề phù hợp] (https://github.com/klutometis/roxygen/issues/38#issuecomment-3516591). – daroczig

Các vấn đề liên quan