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

如何对R函数列表批量调用docstring函数?解决文档串检测报错

解决docstring批量调用报错问题

问题原因

lsf.str()返回的是字符串类型的函数名,但docstring()需要传入的是实际的函数对象。直接传递字符串时,函数无法找到对应的注释内容,因此报错。

解决方案

有两种简单的修正方式:

方法1:用get()转换函数名字符串为函数对象

通过get()函数根据字符串名称获取对应的函数对象,再传入docstring():

library(docstring)

test1 = function(x) {
  #' my docstring 
  #' 
  #' with some description
  x + 1
}

test2 = function(y) {
  #' another docstring
  #' 
  #' with more descriptions
  y + 10
}

f = lsf.str()
# 遍历函数名字符串,用get()转换后调用docstring
lapply(f, function(fun_name) docstring(get(fun_name)))

方法2:直接获取函数对象列表

用mget()直接从环境中取出所有函数对象组成的列表,再批量调用:

# 获取当前环境下所有函数对象的列表
funs <- mget(lsf.str())
# 直接遍历函数对象调用docstring
lapply(funs, docstring)

两种方法都能让docstring()正确识别函数内的注释内容,完成批量生成文档的操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 13:15:01