Подтвердить что ты не робот

Импорт и зависимость

Я прочитал две последние сообщения, в которых обсуждаются зависимости и импорт

Но у меня есть четыре затяжных, связанных вопроса:

  • Предположим, я хочу, чтобы два пакета также были доступны конечному пользователю при загрузке в моем пакете. Есть ли веская причина не использовать Depends в этом контексте? (Здесь нужно загрузить все три пакета с помощью команды, которая загружает только один пакет.)

  • Можно ли указать пакет в полях "Зависимости" и "Импорт"?

  • Если пакет указан в Depends, есть ли смысл указывать его в Imports? Или преимущества импорта уже отменены с помощью Depends?

  • Правильно ли следующее? Пакет должен быть указан в поле Импортирование файла DESCRIPTION, если и только если пакет импортируется (полностью или частично) в файле NAMESPACE.

Спасибо большое!

Дэвид

4b9b3361

Ответ 1

Несколько пунктов, и я признаю, что иногда я нахожу это запутанным. Но я недавно просмотрел его, и вот мой прием:

  • "Зависит" как мы привыкли делать; он ближе всего к "просто погрузка всех трех": когда ваш третий зависит от двух других, все три будут загружены.

  • С пространством имен мы также можем импортировать. Это приводит только к указанным символам, которые могут быть данными или функциями. Я иногда использую это; он не загрузит другой пакет, который вы импортируете, а просто сделайте указанные символы доступными. Таким образом, он "легче", чем "Зависит".

  • Если вы делаете Depends, импорт не требуется.

  • Это правильно: если вы используете объявления NAMESPACE для импорта символов из других пакетов, этот другой пакет должен быть указан в Импортировании: в файле DESCRIPTION.