简介
学习python 时,我们可以添加头部注释:
相当于告诉别人这个脚本主人的信息:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/2/22 12:29 下午
# @Author : Peng
# @Site : yuque.mugpeng.live
# @Email : mugpeng@foxmail.com
# @File : my_test2.py
在R studio 配置
snippet
在R studio 中,并没有发现直接设置的选项,但看到可以利用tab 补全进行配置:https://stackoverflow.com/questions/40616132/create-a-default-comment-header-template-in-r
我们打开Preferences > Code > Edit Snippets
在最后添加 :
snippet header_script
##################################################
## Project:
## Script purpose:
## Date:
## Author: Peng
## Version:
##################################################
需要注意的是,snippet 底下的字段需要使用tab 锁进,使用两个空格则会出现粉红色警示。
设置完后,输入head 就会提示了:
自动补全即可。
但我目前还没有找到相关函数在snippet ,比如date 直接使用date()
,R version 直接用R.version.string
。
ps:https://zhuanlan.zhihu.com/p/112038220,我们还可以非常灵活的使用snippet 加速代码的书写过程。
写函数
这里直接参考https://stackoverflow.com/questions/40616132/create-a-default-comment-header-template-in-r 的回答:
make_r_template <- function(filename = "file.R", dir = getwd())
{
if (file.exists(file.path(dir, filename))) invisible(NULL)
else{
write(c("##################################################",
"## Project:",
paste0("## File name: ", filename),
paste0("## Date: ", date()),
"## Author: Peng",
paste0("## R_Version: ", R.version.string),
"##################################################"),
file = file.path(dir, filename),
sep = "\n")
}
}
make_r_template(filename = 'test2.R')
这里我简单加工了一下。
另外函数中的invisible 在书写函数时非常有用。它可以在函数结果不赋值时,在调用函数时不返回函数最终的结果,上图中,当if 为True,函数返回NULL,而invisible 会使结果不打印到屏幕。
下面,生成的test2 文件就会包含开头:
##################################################
## Project:
## File name: test2.R
## Date: Tue Mar 2 17:02:33 2021
## Author: Peng
## R_Version: R version 4.0.4 (2021-02-15)
##################################################