通过深入研究R源代码(文件R-3.2.2/src/main/gram.y28362852)),我发现R解析器/令牌器认为:=LEFT_ASSIGNMENT令牌。

但是,当尝试将其用作R.3.2.2中的赋值运算符时,
我有一个错误(无法找到:=的函数...),但是如您所见,R会将其视为类似<-的赋值:

> myVar := 42
Erreur : impossible de trouver la fonction ":="
> :=
Erreur : unexpected assignment in ":="
> <-
Erreur : unexpected assignment in "<-"


这是一个错误,还是需要从令牌生成器源代码中删除令牌:=

在R中是否有关于:=运算符的故事?

最佳答案

它是以前允许的赋值运算符,请参见John Chambers在2001年的this article


R的开发版本现在允许编写一些作业
C或Java样式,使用=运算符。这增加了兼容性
使用S-Plus(以及C,Java和许多其他语言)。

以前所有允许的赋值运算符( 保持完全有效。


似乎:=函数不再存在,但是您可以像这样“重新启用”它:

`:=` <- `<-`
x:=3
x
[1] 3

关于r - R赋值运算符:=的作用是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32817780/

10-12 22:38
查看更多