Мой обходной путь - экспорт функции получения для внешнего пакета, для которого я также являюсь автором.Это работает, потому что функции видимы, но ленивые данные и активные привязки (которые установлены, в моем случае, в .onLoad()
) - нет.
Другая возможность состоит в том, чтобы использовать тот факт, что ::
является командойТаким образом, что-то вроде этого является допустимым R, и с именованием переменных в RHS это позволит гибко запрашивать наличие или отсутствие данных в пространствах имен (а не только в средах на пути search()
)
`::`(nycflights13, airlines)
::
просто подставляет данные символы для строк и вызывает getExportedValue
в base
.
Итак, еще лучше, и я думаю, что это мой окончательный ответ:
base::getExportedValue(asNamespace("nycflights13"), "airlines")
Это работает без requireNamespace()
или library()
.