12

formatR:格式化 R 代码的 R 包

 3 years ago
source link: https://yihui.org/cn/2010/03/new-r-package-formatr/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

formatR:格式化 R 代码的 R 包

谢益辉 / 2010-03-25


小邱童鞋眼尖,我刚往 CRAN 发了个 R 包没几天就被发现了。很久很久以前,source() 函数是可以输出干净整齐的 R 代码的,但从某个 R 版本开始,这项功能被去掉了,让我感到很不爽,于是乎,研究了一下前一个版本的 R 源文件,悟出了整理代码的本质,于是操刀写了一个清理代码的函数;很久以前,小邱想出了一个聪明的办法,使得这个函数可以保留某些注释语句(以前这个函数只能去掉所有注释);几天前,我在看 gWidgets 包的同时,为这个函数写了个界面。一个新的 R 包 formatR 就诞生了。

很多人写 R 代码都不管代码是否整齐可读,也许是没有受够读代码的折磨:本来读别人的代码就是很痛苦的事情,如果代码写得不整齐,就更要命了。幸好 R 可以自己处理自己的代码,以 R 攻 R,就可以得到自动整理的整齐代码了。

这个包的界面很简略,就是一个文本框加上若干按钮。以下是效果图:

R代码整容前

R代码整容后

感兴趣的客官可以从 GitHub 获得最新源代码自行编译安装,注意这个包依赖于 gWidgetsRGtk2 包。初级用户可以从 CRAN 安装(CRAN 上的版本取决于我的提交,可能会有延迟):

## 启动R,然后
install.packages('formatR')
library(formatR)
## 将自动启动界面

第二个版本中加入了执行代码、字体设置以及其它选项。需要提醒的有两点:

  1. 这个代码清理功能只能保留整行的注释(也就是单独占一行的注释),行内注释会被删掉。
  2. 目前暂时还没搞清楚中文编码的问题,所以暂不支持中文,如果代码中有中文,将会被转换为乱码。有谁熟悉 gWidgets 的话可以帮帮我。
蓬荜生辉及其它 不宣传,就是不宣传
Disqus Utterances Preferences

© Yihui Xie 2005 - 2020

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK