在R文件中查找顶级函数

时间:2015-09-23 18:46:33

标签: r metaprogramming

我来自python背景,我正试图加快R的速度,所以请耐心等待我

我有一个R文件 - util.R,其中包含以下行

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

我需要编写一个返回以下内容的函数:

  

findFunctions( '路径/ util.R')

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

1 个答案:

答案 0 :(得分:2)

我认为采购是必要的,但你不需要让你的全球环境变得混乱。我在本地进行了测试,似乎有效:

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)
}