在 R 文件中查找顶级函数

Find top level functions in R file

我来自 python 背景,正在努力跟上 R 的速度,所以请多多包涵

我有一个 R 文件 - util.R 包含以下几行

util.add <- function(a,b) a + b
util.sub <- function(a,b) {
    a - b
}

我需要编写一个 returns 以下函数:

findFunctions('path/util.R')

[1] "util.add" "util.sub"

我认为采购将是必要的,但您不需要弄乱您的全球环境。我在本地测试过它似乎有效:

find_functions = function(file) {
    search_env = new.env()
    source(file = file, local = search_env)
    objects = ls(envir = search_env)
    functions = objects[sapply(ls(envir = search_env), FUN = function(x) {
        is.function(get(x, envir = search_env))
    })]
    return(functions)
}