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

标签 r minify

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

最佳答案

您可以利用 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 并重新分配所有变量到“缩小”版本,然后转储代码。

希望这对您有所帮助!

关于r - 是否有任何服务、扩展可以缩小 R 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43920283/

相关文章:

r - Puppet 不使用新的 deb 源来安装最新版本的 R

java - Java中的矩阵乘法

缩小后 JavaScript 函数不起作用

javascript - JavaScript 压缩器应该自动组合 var 声明吗?

javascript - Rollup,多个文件,多个文件中相同的常量名称: error in browser: Uncaught SyntaxError: Identifier 'o' has already been declared

r - 如何将逻辑变量转换为 Rattle 中的因子

R 引用类问题

r - R包中的私有(private)Bitbucket包依赖

javascript - 如何在 css 文件中添加另一个 css 文件?

javascript - 缩小/合并 JS 文件的最大大小