You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用box包批量加载函数时无法访问帮助文档的问题

问题原因及解决办法

核心原因

当你通过box::use(code/functions[...])批量导入函数时,这些函数是父模块(code/functions)重新导出的别名,而非直接绑定到它们原本所在的子模块(hello/goodbye)。box::help()默认会根据当前环境中函数的归属模块查找文档,但父模块的__init__.R仅做了导入导出操作,没有为这些函数关联原本的roxygen文档元数据,因此提示无可用文档。

而直接加载子模块时,函数直接绑定到自身所在的子模块,box::help()能直接定位到子模块里的roxygen文档,所以能正常显示。

解决办法

  1. 在父模块中继承子模块文档
    修改code/functions/__init__.R,明确导出函数并通过@inherit标签继承子模块的文档:

    #' @export
    #' @inherit hello::hello
    #' @export
    #' @inherit goodbye::goodbye
    box::use(
      ./hello[hello],
      ./goodbye[goodbye],
    )
    

    这样父模块导出的函数会关联上子模块的文档,box::help(hello)就能正常调用。

  2. 调用帮助时指定子模块路径
    即使通过父模块批量导入,也可以直接指定子模块路径来获取文档:

    box::help(code/functions/hello)
    

内容的提问来源于stack exchange,提问作者Basil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 16:03:12