R 库/包开发-加载时的消息

R 库/包开发-加载时的消息,r,package,R,Package,当用户加载库(myCustomLibrary)时,是否有任何方式显示消息? 加载后,我想显示一条消息,告诉用户如何运行所有测试功能。是。可以使用.onLoad、.onAttach或.First.lib函数在加载包时执行任何操作。我建议查看这些函数的帮助。您可以使用带有名称空间的.onLoad,而不使用.First.lib 一种惯例是,人们经常将这些命令放在一个单独的zzz.R文件中,该文件仅用于与包相关的代码 快速积分: 如果您的包有一个名称空间,那么您可以在.onLoad()中执行此操作 如

当用户加载
库(myCustomLibrary)
时,是否有任何方式显示消息?
加载后,我想显示一条消息,告诉用户如何运行所有测试功能。

是。可以使用
.onLoad
.onAttach
.First.lib
函数在加载包时执行任何操作。我建议查看这些函数的帮助。您可以使用带有名称空间的
.onLoad
,而不使用
.First.lib

一种惯例是,人们经常将这些命令放在一个单独的
zzz.R
文件中,该文件仅用于与包相关的代码

快速积分:

  • 如果您的包有一个名称空间,那么您可以在
    .onLoad()
    中执行此操作

  • 如果您的包没有名称空间,则执行此操作的位置是
    。First.lib()

  • 无论采用哪种方式,都可以使用
    packagestartpmessage()
    而不是
    cat()
    ,这样用户就可以选择抑制此操作

  • 更新答案(2019年):

    ?.onAttach
    的帮助部分“良好做法”中,建议如下:

    加载命名空间[=in
    .onLoad
    ]应尽可能保持静默, 具有由.onAttach给出的启动消息。 这些消息(以及.onLoad中的任何基本消息)应使用
    packageStartupMessage
    ,这样他们就可以在分心的地方保持沉默


    R CMD CHECK
    如果
    .onLoad
    不是静默状态,则会投诉…

    +1。我要把这个放在哪里?我的软件包中的哪个文件?它过去很重要,人们使用
    R/zzz.R
    ——这现在主要是一种惯例。我认为你也可以做
    R/onLoad.R
    。在哈德利的书中提到,用户应该使用
    .onAttach()
    ,而不是
    .onLoad()
    。他没有解释原因。