R 是啥时候开始支持类似 here-document 的功能的? [关闭]

Posted

技术标签:

【中文标题】R 是啥时候开始支持类似 here-document 的功能的? [关闭]【英文标题】:When did R begin supporting here-document-like functionality? [closed]R 是什么时候开始支持类似 here-document 的功能的? [关闭] 【发布时间】:2021-07-27 10:03:39 【问题描述】:

一年多以前,我在网上搜索了 R 中的 here-document(或类似)功能。我没有找到任何迹象。现在,它是谷歌搜索中最先出现的内容之一——例如,Wikipedia。我不确定这是因为它是一个相对较新的功能,还是以前存在但不为人所知的功能。

此功能何时可用?

如果它可用超过一年,它只是相对不为人知吗?

(如果是这样,那么我当时只是没有正确搜索)。


代码示例

在 R 中,可以做到

query <-
"
  SELECT FirstName,
         LastName,
         Address
  INTO tAllBobs
  FROM tContacts
  WHERE FirstName = 'Bob'
  ORDER BY LastName
"

在 VBA 中,必须这样做:

query = _
  "SELECT FirstName,      " & _
  "       LastName,       " & _
  "       Address         " & _
  "INTO tAllBobs          " & _
  "FROM tContacts         " & _
  "WHERE FirstName = 'Bob' " & _
  "ORDER BY LastName      "

字符串分隔符和续行语法 使代码难以修改和重新格式化。甚至 在 'Bob' 周围添加单引号(正如我上面所做的那样)会破坏格式。 较大的修订会造成严重破坏,需要进行大量的重新编辑。

这就是我对 here-document 感兴趣的原因 R 中支持该功能。

【问题讨论】:

我已经使用read.table(text = "some text") 很多年了,现在知道它叫做“here-document”。 【参考方案1】:

如果你问textConnection 何时被介绍给 R,那似乎是 21 年前:

https://github.com/wch/r-source/commit/968826560933840f10919b81a22762c1e7eacee1

诚然,搜索它从来都不是一件容易的事——我会说,我自己是在过去 12 到 18 个月才学会的。

至于 Wikipedia,该部分自 2012 年以来一直存在:

https://en.wikipedia.org/w/index.php?title=Here_document&oldid=492468681

【讨论】:

我不是 R 编码员,但我正在搜索 here-document 功能,作为对数据 IO 实践的思考片的信息环境扫描的一部分。我可能是错的,但根据我的问题中引用的***部分,它可能不仅仅是textConnection(尽管我确实浏览了帮助信息)。我认为这可能归结为textConnection 开始接受字符串的时候。 不管这是否是关键因素,我也想知道 here-document 功能何时变得众所周知。一年多前我找不到它似乎很奇怪,但这可能只是我自己或当时缺乏在线信息的链接。

以上是关于R 是啥时候开始支持类似 here-document 的功能的? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Python 中 R 的 aasign() 的类似函数是啥?

r语言中两个等于号是啥意思

求助,凤凰操作系统到底是啥

VS2010中类似与MessageBox()的函数是啥?

R.java 背后的概念是啥?

NoSQL是啥意思