是否有R
解析器内部更改的历史先例,添加了新的reserved words或符号?
如果我没记错,data.table
会使用曾经定义但在:=
内幕中未使用的偶然R
,但我不知道其他内容。但是,随着语言的发展,定义新符号有时似乎很有用。
一个明显的例子可能是magrittr的管道%>%
已经为许多人普遍存在,但仍然是一种痛苦的打字(当然,有键盘技巧,但仍然)。同样,dplyr/rlang
引入/重新使用符号进行评估"整洁的评估" (!!
,!!!
,:=
,~
等。)
我看到的另一个案例是lambda函数的冗长。从理论上讲,是否可以在内部定义类似f = λ(x) x+1
而不是f = function(x) x+1
的内容,或者是否存在基于其他原因的字符限制?
答案 0 :(得分:2)
如果您冒险破坏承载庞大生态系统的运行时,为什么要添加人体工程学功能?此外,一旦你添加了一个特征,你就会在一个很滑的斜坡上,直接面对特征臃肿。
如果你说我们可以聪明地了解我们添加的功能,我们如何构建决策流程? R没有一个仁慈的独裁者"在这样的决定中有一个最后的词,所以你留下了设计委员会所带来的一切。
R的重要一点就是包生态系统,如果你想要一个你自己编写的功能,就像你的magrittr
例子一样。语言本身仍然接近其根源,并成功地成为所有发展过程的稳定平台。