Разработка библиотеки / пакета - сообщение при загрузке - PullRequest
12 голосов
/ 03 февраля 2010

есть ли способ отобразить сообщение, когда пользователь загружает library(myCustomLibrary)? После загрузки я хочу отобразить сообщение, которое сообщает пользователю, как запустить все тестовые функции.

Ответы [ 3 ]

26 голосов
/ 03 февраля 2010

Быстрые очки:

  • если у вашего пакета есть NAMESPACE, тогда .onLoad() где вы это делаете

  • если ваш пакет не имеет NAMESPACE, тогда .First.lib() где вы это делаете

  • в любом случае, используйте packageStartupMessage() вместо cat(), чтобы у пользователей был выбор подавления этого.

8 голосов
/ 03 февраля 2010

Да.Вы можете использовать функции .onLoad, .onAttach или .First.lib, чтобы делать что угодно при загрузке пакета.Я предлагаю посмотреть на помощь для этих функций.Вы должны использовать .onLoad с пространством имен и .First.lib без.

Одно соглашение заключается в том, что люди часто помещают эти команды в отдельный файл zzz.R, который используется только для кода, связанного с пакетом.

0 голосов
/ 20 марта 2019

Обновленный ответ (2019):

В разделе справки "Хорошая практика" в ?.onAttach рекомендация теперь:

Загрузка пространства имен [= in .onLoad] должна по возможности молчать, с сообщениями запуска, предоставленными .onAttach. Эти сообщения (и любые важные из .onLoad) должны использовать packageStartupMessage чтобы их можно было заставить замолчать там, где они отвлекут.

R CMD CHECK будет жаловаться, если .onLoad не будет молчать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...