假设我希望在base
或提交的包的代码中找到使用一个或多个函数的实例,以便更好地理解这些函数的惯用用法。也就是说,我想对使用函数的地方进行代码搜索,而不是搜索定义该函数的地方。所以我想包括例如未导出的功能。
理想情况下,我想进行RegEx匹配,以便找到具有相似名称的函数,这些函数可以提供并行函数。我还希望能够根据R的输出类型的逻辑测试来限制输出,例如,仅查找函数或更精细的细分,例如is.primitive()
或is.closure()
,或(来自rlang
)is_primitive_eager()
或is_primitive_lazy()
。
我注意到,sos
包中的包文档存在我询问的一些搜索类型。另外,我知道grep搜索可以在加载包的导出函数的名称上完成,如下所示:Searching functions using grep over multiple loaded packages in R,并且Jim Hester的lookup
包在CRAN包中找到函数定义,即使他们没有安装。另见Ben Bolker的答案,这里:Name of a package for a given function in R但是这些方法都不会搜索函数用法而不是函数定义。