是否有任何服务、扩展可以缩小 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"版本,然后转储代码。
希望对您有所帮助!
是否有缩小 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"版本,然后转储代码。
希望对您有所帮助!