任何服务,扩展来缩小R代码?

时间:2017-05-11 15:51:30

标签: r minify

是否有现有服务来缩小R代码?似乎很容易找到JS minifier,我还没有找到类似于R的东西。我对Atom扩展或基于Web的服务感到满意

1 个答案:

答案 0 :(得分:1)

您可以利用R的内部解析器来缩小代码。例如,如果您有一些文字,如:

myList <- list(a = 1,
               b =2
               ,c = list( a = 1,
                     b = 2)
)
myOtherList <- list(a = 1, 

            #My comment

            b = 1)

在名为myFile.R

的文件中

您可以解析表达式,然后将其强制转换为某个字符,例如:

paste(as.character(parse(text = text)),collapse = "\n")

将每行输出一个表达式,不带注释:

myList <- list(a = 1, b = 2, c = list(a = 1, b = 2))
myOtherList <- list(a = 1, b = 1)

这是使用已解析代码并对其进行修改的有趣示例。解析作为一种工具为开发人员创造了一个全新的机会世界。我建议阅读Peter Norvig在python中的lisp解释器作为编码语法,解析和抽象语法树(AST)的入口点:http://norvig.com/lispy.html

如果您确实想要以符号方式缩小代码(例如,将myVarName替换为a)您将能够使用返回的AST并将所有变量重新分配给“缩小”版本,然后转储代码。

希望这有帮助!