6

R 4.0.0 为原始字符串引入了一种新语法:

r"(raw string here can contain anything except the closing sequence)"

但是 R 3.xx 中的相同构造产生了语法错误:

错误:“r”(asdasd)“”中出现意外的字符串常量

这是否意味着解释器在 R 4.0.0 中发生了变化。?
如果是这样 - R 4.0.0。提供一种机制来定义自定义函数,例如foo"()"

4

1 回答 1

4

不,目前这是不可能的(我也不认为它很快就会成为可能)。

这是新闻项目:

有一种用于指定原始字符常量的新语法,类似于 C++ 中使用的语法:r"(...)"使用...任何不包含序列的字符序列)"。这使得编写包含反斜杠或单引号和双引号的字符串变得更容易。有关更多详细信息,请参阅?Quotes

https://cran.r-project.org/doc/manuals/r-devel/NEWS.html

然后从?Quotes

原始字符常量也可以使用类似于 C++ 中使用的语法:r"(...)"使用...任何字符序列,但它不能包含结束序列 )"。分隔符对[]{}也可以使用,并且R可以用来代替r. 为了增加灵活性,可以在开始引号和开始分隔符之间放置多个破折号,只要在结束分隔符和结束引号之间出现相同数量的破折号即可。

https://github.com/wch/r-source/blob/trunk/src/library/base/man/Quotes.Rd

git是添加此功能的提交的(SVN 补丁的镜像):

https://github.com/wch/r-source/commit/8b0e58041120ddd56cd3bb0442ebc00a3ab67ebc

于 2020-04-24T11:52:31.100 回答