2016-04-10 2 views
0

Я пишу функцию для своего пакета, и его цель - получить уведомление, когда определенный пакет загружен, чтобы он мог что-то сделать, чтобы ответить на загрузку пакета. Это похоже на .onLoad(), за исключением того, что это ответ для других пакетов.Можно ли получить уведомление, когда пакет загружен в другой пакет или функцию?

Можно ли это сделать в R?

+0

Вы хотите получать уведомления, когда кто-то использует ваш пакет? Если да, пожалуйста, прочитайте это состояние: fortune («call home») ** Мне кажется, что противник программного обеспечения с открытым исходным кодом пытается контролировать распространение. Мы могли бы спросить R, чтобы «позвонить домой» при первом использовании (например, например, сосна), но я подозреваю, что многие пользователи обнаружат, что неприемлемо. - Брайан Д. Рипли (в дискуссии о попытке оценить количество пользователей R) R-help (апрель 2004) ** – Thierry

+0

Вы можете проверить, какие пакеты загружены с помощью '(.packages())'. Это можно комбинировать с 'grep()' для получения информации о том, загружен ли конкретный пакет. – RHertel

+0

@Thierry, нет, я хочу получать уведомления, когда загружаются другие пакеты. – baidao

ответ

0

ОК, я понял, используя setHook().

setHook(packageEvent("pkg", "attach"), 
    function(...) { 
     message('hooked') 
    }) 
Смежные вопросы