使用burglr复制stringr::fixed失败:burgled.R无目标函数代码
问题:burglr包复制stringr::fixed函数未生成目标代码
操作流程
- 创建新R包并添加依赖:
library(devtools) create_package("D:/path/to/dda") use_package("stringr") use_package("burglr")
- 执行复制命令:
burglr::burgle(stringr::fixed)
问题现象
控制台提示正在复制stringr:::fixed及其依赖,也显示了stringr的许可证信息,但生成的burgled.R文件仅包含一行注释:# generated by {burglr},完全没有复制到目标函数的代码。
解决方法
- 直接指定内部非导出函数
stringr::fixed是对外导出的接口,实际核心实现是stringr:::fixed(非导出函数),尝试直接复制这个内部函数:
burglr::burgle(stringr:::fixed)
- 显式指定输出文件路径
避免路径解析异常,手动指定生成文件的完整路径:
burglr::burgle(stringr::fixed, file = "D:/path/to/dda/R/burgled.R")
- 更新burglr到最新版本
旧版本可能存在功能bug,重新安装最新版:
devtools::install_github("moodymudskipper/burglr")
- 手动提取源码
如果以上方法都无效,直接查看并复制函数源码:
# 打印fixed函数的完整源码 stringr:::fixed
把输出的代码手动粘贴到你的包的R脚本里,注意保留stringr的MIT许可证信息。
内容的提问来源于stack exchange,提问作者Thaatha_Paati
相关产品推荐
相关产品推荐

