是什么阻止了对当前R保留字/符号集的添加?

bap*_*ste 46 r

是否有R解析器内部更改的历史先例,添加新的保留字或符号?

如果我记得正确data.table使用:=曾经定义但在R内部未使用的偶然性,但我不知道其他人.但是,随着语言的发展,定义新符号有时似乎很有用.

一个明显的例子可以用于magrittr的管道%>%,这对许多人来说无处不在,但仍然是一种痛苦的打字(当然,有键盘技巧,但仍然).类似地,dplyr/rlang引入/重新利用为"整洁评价"符号(!!,!!!,:=,~,等等).

我看到的另一个案例是lambda函数的冗长.理论上,是否有可能在内部定义类似于其他原因f = ?(x) x+1而不是f = function(x) x+1或者是否存在字符限制?

ktd*_*drv 2

如果您冒着破坏承载庞大生态系统的运行时的风险,为什么要添加人体工程学功能呢?此外,一旦添加一项功能,您就会陷入滑坡,并直面功能膨胀。

如果你说我们可以聪明、明智地决定添加哪些功能,那么我们如何构建决策过程呢?R 没有一个“仁慈的独裁者”对这样的决定有最终决定权,所以你只能由委员会进行设计及其所需要的一切。

R 的最大特点始终是软件包生态系统,在该生态系统中,如果您想要某个功能,您可以自己编写它 - 正如您的magrittr示例所示。该语言本身仍然接近其 S 根源,并成功地成为所有正在发生的开发的稳定平台。