我正在編寫一個包含其他幾個導出函數使用的內部函數的包,但導出的函數都具有不同的參數。如何記錄調用相同函數但具有不同參數的函數?
這裏是我的意思簡化:
general <- function(...) {
# do something based on which function was called
}
one <- general
two <- general
我知道這似乎不可思議,但所有被化名爲general
功能使用完全相同的代碼,但它們有不同的參數。所以我可能會打電話one(id = "foo")
或。
我的問題是如何用Rxygen以R CMD檢查不會投訴的方式記錄這些函數?
我想記錄影響其正常參數的各項功能,所以這是什麼,我希望能夠使用:
general <- function(...) {
# do something based on which function was called
}
#' @param id The id
#' @export
one <- general
#' @param class The class
#' @export
two <- general
但後來我得到警告,當我檢查我的包,如
* checking Rd \usage sections ... WARNING
Undocumented arguments in documentation object 'one'
'...'
Documented arguments not in \usage in documentation object 'one':
'id'
和two
函數的類似警告。
我試圖用手工編輯.Rd文件改變
\usage{ one(...) }
進入
\usage{ one(id) }
要嘗試解決此警告,但是當我運行檢查它似乎是在創建文檔再次覆蓋我的改變。
是否有解決方法?
感謝
謝謝。我曾嘗試製作簡單地調用'general'的導出函數包裝器,但後來我失去了被調用的原始函數的信息。在'general'裏面我使用'match.call()[1]'來知道最初調用了哪個函數,但是如果我使用包裝器,它將不起作用。我知道這似乎令人困惑和不理想,但我真的認爲這是我的應用程序的最好和最簡單的方法。我希望你不會說「不會有辦法」,那是我最大的恐懼:) – 2015-04-04 21:00:20
@daattali請參閱我的編輯進一步的建議。 – Thomas 2015-04-04 21:15:32