是否有任何服务、扩展可以缩小 R 代码?

Any services, extensions out there to minify R code?

是否有缩小 R 代码的现有服务?似乎很容易找到一个 JS 压缩器,我还没有找到类似的 R 的东西。我对 Atom 扩展或基于网络的服务很满意

您可以利用 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)

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

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

希望对您有所帮助!