r - 获取 R 片段以接受插入文本中的空格
问题描述
我正在尝试编写一个片段,以允许我使用标准格式快速插入评论文本:
#######################################><###################
## [date and time goes here] ------------------------------
## [comment goes here, can span multiple
## lines]
#######################################><###################
这是我到目前为止所得到的:
snippet comm
`r paste0(
"#######################################><###################\n## ",
date(),
" -------------------------------\n## ",
eval(
paste0(
gsub(
".{1,51}\\s?\\K\\b",
"\n## ",
gsub("\\.", " ", paste0(text)),
perl = T
)
)
),
"###################################><###################\n"
)`
此代码段有效,但要求注释文本中不能有任何空格。作为一种解决方法,我编写了代码片段来解释.
为一个空格。
commlong.comment.text.1111111.aaaaaaa.2222222.bbbbbbb.3333333.ccccccc.4444444.ddddddd.5555555.eeeeeee.6666666.fffffff.7777777.ggggggg.8888888.9999999.0000000
#######################################><###################
## Tue Jul 24 12:40:55 2018 -------------------------------
## 1111111 aaaaaaa 2222222 bbbbbbb 3333333 ccccccc
## 4444444 ddddddd 5555555 eeeeeee 6666666 fffffff
## 7777777 ggggggg 8888888 9999999 0000000
## ###################################><###################
由于用句点而不是空格输入评论很痛苦,我想修改我的代码片段以接受带空格的评论文本。任何想法如何做到这一点?谢谢。
解决方案
事实证明,这比预期的要容易得多。我发现代码片段中不在刻度内的任何内容都`
被解释为直接输入到 RStudio 的源窗格中。内部的任何内容都会`r ... `
被评估,就好像它是直接输入到控制台窗格中一样,但输出会插入到源窗格中的当前位置(相对于现有文本或周围的片段)。所以我写了这个片段,它基本上是我想要的:
snippet commentblock
######################################## # # # # # # # # # # ## ## ## ## ##
# `r date()`
# ${1:title} -------------------------------------------------------
# ${2:text}
######################################## # # # # # # # # # # ## ## ## ## ##
我---
在标题之后添加了,因为我希望将这一行解释为文档大纲的节标题。可以编写一个片段来计算字符数title
并插入确切数量的-
' 以使---
一直到边缘,但弄清楚这似乎不是一个很好的用途我的时间。
推荐阅读
- java - 数组中的循环与循环中的先前元素的比较
- java - 如何迭代java数组
- javascript - 字符串返回图片中每个字母的HTML搜索栏
- javascript - 如何在画布中增加/减小这个心形的大小?
- java - 转换 FieldInsnNode 的名称和信息
- php - 调用未定义的方法 DateTime::format 但 DateTime 正在工作
- java - Android - 如何使用 okhttp-retrofit 从保存的缓存中使特定 URL 无效/删除?
- c - 指定 RIDEV_NOLEGACY 时,Win32 原始输入阻止输入区域设置切换
- ruby - 使用gets时Ruby Loop无法中断
- c# - ASP.Net C# MCV - 将值从 Ajax Jquery 传递到控制器