Có một số cơ chế mà theo đó tôi có thể chuyển đổi các nhận xét mà roxygen thấy, tốt nhất là trước khi chuyển đổi roxygen->?Đoạn roxygen trước hoặc sau quá trình
Ví dụ, giả sử tôi có:
#' My function. Does stuff with numbers.
#'
#' This takes an input `x` and does something with it.
#' @param x a number.
myFunction <- function (x) {
}
Bây giờ, giả sử tôi muốn làm một số chuyển đổi của bình luận trước roxygen phân tích nó, ví dụ thay thế tất cả các trường của sự vật trong backticks với \code{}
. Ví dụ:
preprocess <- function (txt) {
gsub('`([^ ]+)`', '\\\\code{\\1}', txt)
}
# cat(preprocess('Takes an input `x` and does something with it'.))
# Takes an input \code{x} and does something with it.
Tôi có thể ăn preprocess
vào roxygen bằng cách nào đó để nó sẽ chạy nó trên doclets trước (hoặc sau sẽ làm việc trong trường hợp này) roxygen không thế hệ tài liệu của mình?
Tôi không muốn thực hiện tìm kiếm thay thế vĩnh viễn trong các tệp .r
của mình. Như bạn có thể đoán từ ví dụ của tôi, tôi đang hướng tới một số hỗ trợ thô sơ trong các nhận xét roxygen của mình, và do đó muốn giữ các tệp .r
của mình như là để bảo toàn khả năng đọc (và chèn các công cụ \code{..}
theo chương trình).
Nên tôi chỉ viết phiên bản riêng của tôi về roxygenise
chạy preprocess
trên tất cả các ý kiến phát hiện roxygen kiểu trong tác phẩm của tôi, tiết kiệm cho họ tạm ở đâu đó, và sau đó chạy thực tếroxygenise
trên những?
Tôi chưa từng thử điều này trước đây, nhưng AFAIK bạn có thể viết các roclet của riêng bạn và chỉ định các cuộc gọi roxygen của bạn, tức là bạn chỉ định «roclet' mới trong đối số 'roxygenize (..., roclet = mc_roclet)' – Andrie
Tôi khuyên bạn nên xây dựng trên đầu trang của https://github.com/hadley/roxygen3, và nhìn vào bên trong của gói markdown để làm điều này đúng cách. Tôi rất sẵn lòng chấp nhận một bản vá. – hadley
@hadley cổ vũ, tôi đã kiểm tra một bản sao roxygen3, chỉ muốn xem liệu có ai có giải pháp bị tấn công cùng nhau trước khi tôi bắt đầu đào bới. Nếu tôi quản lý để mã lên một cái gì đó hoạt động tôi sẽ gửi một bản vá –