Если вы автор пакета, вы, надеюсь, хорошо осведомлены о предстоящих изменениях в структуре пакета, когда мы переходим к 2.14 примерно через неделю. Одно из изменений заключается в том, что для всех пакетов потребуется NAMESPACE, и один будет создан для вас в случае, если вы его не создадите (эквивалент R ваших прав на Miranda в США). Поэтому, будучи хорошим гражданином, я пытался понять это. Вот раздел из R-exts:
1.6.5 Резюме - преобразование существующего пакета
Подводя итог, преобразование существующего пакета для использования пространства имен включает в себя несколько простых шагов:
Определите общедоступные определения и поместите их в директивы экспорта. Определите определения метода в стиле S3 и напишите соответствующий метод S3 деклараций. Определите зависимости и замените любые требуемые вызовы на импортировать директивы (и внести соответствующие изменения в Зависимости и Импортирует поля файла DESCRIPTION). Заменить функции .First.lib с функциями .onLoad или useDynLib.
Чтобы я сделал правильные вещи здесь, может кто-то дать короткое четкое определение/ответ (я нарушаю правило, имея несколько небольших, но связанных вопросов?). Все ответы должны учитываться в 2.14, пожалуйста:
- Определение NAMESPACE, используемое R
- Есть ли способ создать NAMESPACE перед сборкой и проверкой, или мы будем использовать b/c один раз, а затем автоматически отредактируем NAMESPACE?
- Разница между "Зависит:" и "Импорт:" в файле ОПИСАНИЕ. В частности, почему я помещал пакет в "Зависит:" вместо "Импорт:" или наоборот?
- Похоже, что "require" больше не используется, хотя он этого не говорит. Это правильная интерпретация?
Спасибо!