Я создаю пакет R в RStudio. Скажем, у меня есть две функции fnbig()
и fnsmall()
в моем пакете с именем foo
. fnbig()
— это функция, которая должна быть доступна пользователю, использующему пакет. fnsmall()
— это внутренняя функция, которая не должна быть доступна пользователю, но должна быть доступна внутри fnbig()
.
# package code
fnsmall <- function()
{
bla bla..
}
#' @export
fnbig <- function()
{
bla bla..
x <- fnsmall()
bla..
}
Я попытался экспортировать fnsmall()
. Все работает, но засоряет пространство имен. Я пробовал не экспортировать fnsmall()
, но тогда он не работал внутри fnbig()
при использовании x <- fnsmall()
или x <- foo::fnsmall()
. Затем я попытался использовать x <- foo:::fnsmall()
, и это сработало. Но я читал, что использовать :::
не рекомендуется.
Каков наилучший способ сделать это? Как вызвать внутреннюю функцию из экспортированной функции?
fnbig
не экспортируется, или они жалуются на то, чтоfnsmall
не экспортируется? - person eric_kernfeld   schedule 10.08.2017