2013-04-09 34 views
10

Tôi đang sử dụng devtools để xây dựng gói R và có một số chức năng KHÔNG được thiết kế để hiển thị cho người dùng cuối. Tuy nhiên, vì các chức năng này liên quan đến việc gọi mã C bằng .Call, do đó tôi phải viết @useDynLib phía trên chức năng để tạo các tệp .Rd tự động. Theo cách đó, khi tôi xây dựng gói, ngay cả khi tôi KHÔNG bao gồm @export cho các chức năng đó, chúng vẫn xuất hiện trong tài liệu trợ giúp ... Có cách nào để chặn các chức năng đó ngay cả khi chúng đã được ghi chép? Cảm ơn!không hiển thị tài liệu trợ giúp chức năng trong gói R xây dựng bởi roxygen2

+1

Bạn chỉ cần một 'khai useDynLib' mỗi gói. – hadley

+0

@hadley: cảm ơn, tôi đã sửa chữa ... nhưng vẫn còn các chức năng không có '@ export' nằm trong tài liệu trợ giúp, điều mà tôi muốn là vô hình đối với người dùng cuối. Bất kỳ phương pháp để "ngăn chặn" sản xuất các tập tin .Rd? – alittleboy

+1

Không sử dụng ý kiến ​​roxygen? – hadley

Trả lời

19

Theo nhận xét của Hadley, sử dụng @keywords internal sẽ làm cho chức năng ẩn đối với người dùng cuối. Chi tiết có thể được tìm thấy here trong các trang wiki của devtools.

8

wiki được liên kết trong câu trả lời được chấp nhận không còn thảo luận về @keywords internal (tính đến tháng 4 năm 2016). Trong trường hợp nó rất hữu ích cho một ai đó để xem một ví dụ:

# multiplyBy3 
#' This is an example of an internal function called \code{multiplyBy3()} 
#' 
#' Sometimes you want internal functions as part of an R Package built with 
#' RStudio and roxygen2, but you don't want .Rd files created for them 
#' or to have them be visible in the help document following the build process 
#' 
#' @keywords internal 
#' 
#' @param base_num The number to multiply by three 
#' 
#' @import jsonlite 
#' 
#' @return Returns a numeric vector 
#' 
multiplyBy3 <- function(base_number) { 
    stopifnot(is.numeric(base_number)) 
    return(base_number * 3) 
} 

bit chính: không bao gồm @export và không bao gồm @keywords internal

+0

Đây là những gì tôi đã tìm kiếm trong nửa giờ qua. Cảm ơn @ arvi1000 – Veera

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